Oracle
 sql >> база данни >  >> RDS >> Oracle

SQLplus декодира за изпълнение на скриптове

Decode не е SQL*PLUS команда, не можете да я използвате директно в sql*plus само в рамките на pl/sql блок или заявка. И така, ето пример за това как може да се направи условно разклоняване:Ние декларираме променлива flag което ще регулира кой от двата налични скрипта да се изпълнява.

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. проблем ORA-00001:нарушено уникално ограничение идва при INSERT/UPDATE

  2. Как да генерирате пакет API за таблица в Oracle SQL Developer?

  3. Функцията PL/SQL в Oracle не може да види DBMS_AQ

  4. Защо получавам Ora-30004, когато разделителят sys_connect_by_path не присъства в стойностите на колоните

  5. JDBC:Oracle Application Server и мрежовият адаптер не можаха да установят грешка при свързване