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

oracle sql se condizione quindi seleziona istruzione1 altrimenti seleziona istruzione2

Puoi provare qualcosa del genere con un CURSOR variabile e PRINT comando. Funziona in SQL* plus e in SQL developer o TOAD quando viene eseguito come script.

VARIABLE prmtr VARCHAR2
EXEC :PRMTR := 'A'  -- SET values of parameter

VARIABLE x refcursor -- a cursor variable

DECLARE
BEGIN
    IF :PRMTR = 'A' THEN
      OPEN :x FOR
        SELECT *
        FROM   employees;
    ELSE
      OPEN :x FOR
        SELECT *
        FROM   departments;
    END IF;
END;
/

PRINT x  -- gives you the result of the query.