我在存储过程里面定义了一个游标,怎样执行存储过程后能把游标结果集像select语句一样显示出来?例如:CREATE OR REPLACE PROCEDURE yyyy_tmpppp(p_rc in out PKG_RTN.RESULT_TYPE) as
--type RESULT_TYPE is ref cursor; 属于 包PKG_RTN
BEGIN
open p_rc for select * from zy_ls_zydjb;
END;
然后在plsql中执行:
exec  yyyy_tmpppp能像执行 select * from zy_ls_zydjb一样显示出来这个怎么实现???

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE yyyy_tmpppp(p_rc in out PKG_RTN.RESULT_TYPE) as
    --type RESULT_TYPE is ref cursor; 属于 包PKG_RTN
    declare
    output varchar2(200);
    BEGIN
    open p_rc for select * from zy_ls_zydjb;
    /*这个地方你可以循环取值出来,用DBMS_OUTPUT.PUT_LINE(output)输出
    loop 
    output :=p_rc.字段;
    DBMS_OUTPUT.PUT_LINE(output);
    end loop 
    */
    END;
      

  2.   

    楼上正解,直接循环取游标的值就可以了。或者你看看这个简单的文章
    http://aniyo.iteye.com/blog/1539925