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

Decodifica SQLplus per eseguire script

Decode non è un comando SQL*PLUS, non puoi usarlo direttamente in sql*plus solo all'interno di un blocco pl/sql o di una query. Quindi ecco un esempio di come si può fare un branching condizionale:Dichiariamo una variabile flag che regolerà quale dei due script disponibili da eseguire.

SQL> variable flag varchar2(7);
SQL> exec :flag := 'true';

PL/SQL procedure successfully completed.

SQL> column our_script new_value script noprint;
SQL> select decode(:flag, 'true', 
  2                'c:\sqlplus\script1.sql', 
  3                'c:\sqlplus\script2.sql'
  4                ) our_script
  5  from dual;




SQL> @&script;

SCRIPT                                                                          
--------                                                                        
script_1