sql >> Database teknologi >  >> RDS >> Oracle

Oracle:Sådan bruger du lokale procedurevariabler til EXECUTE IMMEDIATE-sætninger i procedurer

En lokal variabel fra proceduren kan bindes til forespørgselspladsholderen med USING [OUT][IN] klausul:

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

Men for denne forespørgsel behøver du ikke execute immediate , bare gør:

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

på Oracle 11g kan du gøre det ved at bruge tildelingsoperatoren:

  local_id number;
BEGIN
  local_id := SYS_LOCAL_ID_SERIAL_SEQ.NEXTVAL;


  1. XAMPP Kører virkelig langsomt med PHP/MySQL

  2. MySQL Spørgsmål om planlægning

  3. django.db.utils.ProgrammingError:Relationen app_user eksisterer ikke under manage.py-testen

  4. Hvordan fjerner jeg gentagne kolonneværdier fra rapporten