sql >> Base de Datos >  >> RDS >> Oracle

oracle sql si la condición entonces selecciona la declaración 1; de lo contrario, selecciona la declaración 2

Puede intentar algo como esto con un CURSOR variable y PRINT dominio. Esto funciona en SQL* plus y en SQL Developer o TOAD cuando se ejecuta como secuencia de comandos.

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.