oracle - out sys_refcursor参数 - 如果没有找到结果呢?

时间:2012-11-30 01:37:47

标签: sql oracle

如果我使用sys_refcursor参数,如果第一个游标有任何结果,我就会挣扎。

create or replace procedure cursorresults
as 
(cursor1 OUT sys_refcursor
cursor2 OUT sys_Refcursor)
begin
      open cursor1 for
      select * from table1; 

      **if cursor1 has any results**

          open cursor2 for
          select * from table2; 
 end;

我可以重新查询table1以查看是否有匹配但是必须有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

确定游标是否返回结果的唯一方法是尝试从游标中获取结果。当然,由于游标是仅向前结构,这意味着您需要关闭并重新打开游标。

但是,如果第一个游标返回结果,您只想打开第二个游标,这似乎很奇怪。你确定你不想加入这两个表,联合它们,或者做其他事情来结合这两个结果吗?