如何从存储过程返回空光标?

时间:2012-10-09 04:23:09

标签: oracle stored-procedures cursor ref-cursor

我将OUT存储过程的参数作为REF CURSOR。基于特定条件,我想要返回一个结果集(已经实现)。但是当条件失败时如何返回空光标?没有提出异常?只是粘贴伪代码:

IF condition = true THEN
   OPEN OUT_CUR FOR 
   Select Some query

ELSE

   Return empty OUT_CUR

END IF

2 个答案:

答案 0 :(得分:15)

你可以试试这个

IF condition = true THEN
   OPEN OUT_CUR FOR 
   Select Some query;
ELSE
   OPEN OUT_CUR FOR 
       Select * from mtable where 1=2;
END IF
return OUT_CUR;

答案 1 :(得分:0)

IF condition = true THEN
   OPEN OUT_CUR FOR 
   Select Some query

ELSE

    OPEN OUT_CUR FOR select * from unnest(array[1,2]) arr where  false 

END IF