sql >> Databáze >  >> RDS >> Oracle

Oracle:Jak používat lokální proměnné procedury pro příkazy EXECUTE IMMEDIATE v procedurách

Lokální proměnnou z procedury lze svázat se zástupným symbolem dotazu pomocí USING [OUT][IN] klauzule:

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

Ale pro tento dotaz nepotřebujete execute immediate , stačí udělat:

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

na Oracle 11g to můžete provést pomocí operátoru přiřazení:

  local_id number;
BEGIN
  local_id := SYS_LOCAL_ID_SERIAL_SEQ.NEXTVAL;


  1. Použití Jenkinse s Kubernetes AWS, část 1

  2. Přehled různých uzlů pomocného plánu v PostgreSQL

  3. Mám vypnout Query Cache v MySQL?

  4. Smíšené dotazy MySQL a Sphinx