在存儲過程中獲取了1個ref cursor,想在Sp裏處理條件,然後再返回這個ref cursor怎麽做?如:
    procedure Query(piLanguage IN VARCHAR2,ret out returnCursor)
    as
      tempRet returnCursor;
    begin
        tempRet:=Query_All(piLanguage);//返回的是ref cursor,根據piLanguage讀取對應的view(返回的字段相同(別名))        open ret for
              select * 
              from  tempRet   //我想在這裡加上限制的條件(-----怎麽做?------)
              where ...
    end ;

解决方案 »

  1.   

    我做了试验,不成功,其中
    open ret for select * from tempRet where 1=0; 
    老是报错
    Compilation errors for PACKAGE BODY USER1.MYPKGError: PLS-00201: 必须说明标识符 'TEMPRET'
    Line: 24
    Text: open ret for select * from tempRet where 1=0;.....
    一点建议供参考,你可以定义一个带参数的游标来实现你的功能。
      

  2.   

    好像不该这样吧,直接select * from tempRet 好像不对,可以这样
    创建一个临时表
    在这里迭代temRet并且把合适的结果插入这个临时表,然后再返回ret for select * from 临时表;