sql >> Database >  >> RDS >> Oracle

Oracle:hoe lokale variabelen van procedures te gebruiken voor EXECUTE IMMEDIATE-instructies in procedures

Een lokale variabele uit de procedure kan worden gekoppeld aan de tijdelijke aanduiding voor de query met USING [OUT][IN] clausule:

  local_id number;
BEGIN
  EXECUTE IMMEDIATE 
       'SELECT SYS_LOCAL_ID_SERIAL_SEQ.NEXTVAL into :local_id FROM dual'
     USING OUT local_id;

Maar voor deze query heb je execute immediate niet nodig , doe gewoon:

  local_id number;
BEGIN
  SELECT SYS_LOCAL_ID_SERIAL_SEQ.NEXTVAL into local_id FROM dual;

op Oracle 11g kunt u dit doen met de toewijzingsoperator:

  local_id number;
BEGIN
  local_id := SYS_LOCAL_ID_SERIAL_SEQ.NEXTVAL;


  1. Waarom is er veel variatie in de prestaties van MySQL (InnoDB)?

  2. Hoe maak je een incrementele back-up in Mysql

  3. MySQL waar-clausule en bestellen door avg() als subquery

  4. Hoe te bepalen of een MySQL-query geldig is?