Oracle
 sql >> Base de données >  >> RDS >> Oracle

oracle sql if condition then select statement1 else select statement2

Vous pouvez essayer quelque chose comme ça avec un CURSOR variable et PRINT commande. Cela fonctionne dans SQL* plus et dans le développeur SQL ou TOAD lorsqu'il est exécuté en tant que 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.