Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dekodowanie SQLplus w celu wykonywania skryptów

Decode nie jest poleceniem SQL*PLUS, nie można go używać bezpośrednio w sql*plus tylko wewnątrz bloku pl/sql lub zapytania. Oto przykład, jak można wykonać warunkowe rozgałęzienie:Deklarujemy zmienną flag który będzie regulował jeden z dwóch dostępnych skryptów do uruchomienia.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaka jest różnica między ROWNUM a ROW_NUMBER w bazie danych Oracle?

  2. Jak przeanalizować xml według xmltable podczas korzystania z przestrzeni nazw w xml(Oracle)

  3. Czy Oracle może uruchamiać funkcje wiersza poleceń systemu Windows?

  4. Jak zgłosić wyjątek w PL/SQL?

  5. Oracle:najszybszy sposób w PL/SQL, aby sprawdzić, czy istnieje wartość:lista, VARRAY lub tabela temp