Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

oracle sql se condição então selecione instrução1 senão selecione instrução2


Você pode tentar algo assim com um CURSOR variável e PRINT comando. Isso funciona no SQL* plus e no desenvolvedor SQL ou TOAD quando executado como 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.