sql >> Database >  >> RDS >> Oracle

SQLplus decoderen om scripts uit te voeren

Decode is geen SQL*PLUS-opdracht, u kunt deze niet rechtstreeks in sql*plus gebruiken, alleen binnen een pl/sql-blok of een query. Dus hier is een voorbeeld van hoe een voorwaardelijke vertakking kan worden gedaan:We declareren een variabele flag welke gaat regelen welke van de twee beschikbare scripts moet worden uitgevoerd.

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. Problemen bij het openen van een MDF-bestand omdat er SQL-fout 5171 staat? - Een gastpost van Andre Williams

  2. Mysql datetime-formaat 10 minuten toevoegen

  3. Problemen op WSO2 met Oracle RDS Amazon-integratie

  4. Hoe de bindValue-methode toe te passen in de LIMIT-clausule?