sql >> Databasteknik >  >> RDS >> Oracle

SQLplus-avkodning för att exekvera skript

Decode är inte ett SQL*PLUS-kommando, du kan inte använda det direkt i sql*plus endast i ett pl/sql-block eller en fråga. Så här är ett exempel på hur en villkorlig förgrening kan göras:Vi deklarerar en variabel flag som kommer att reglera vilket av två tillgängliga skript som ska köras.

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                                                                        


  1. Hur man definierar Oracle Package Procedur i H2 för testning

  2. Försöker du få resultatet i en rad med sql?

  3. BESTÄLL EFTER skick

  4. Hur beräknar man skillnaden i timmar (decimal) mellan två datum i SQL Server?