我想实现在存储过程里面实现一个  select 语句,此语句的结果返回一个数据集,也就是包含多列,应该怎样实现。我听说是用游标来实现 ,不过不知具体怎样做。
哪位仁兄能提供些示例代码,感激不尽。

解决方案 »

  1.   


    oracle 9i 以上版本直接使用sys_refcursor就可以了
    create or replace procedure getResultData(rst out sys_refcursor) is
    begin
      open rst for select * from t;
    end getResultData;
      

  2.   


    oracle 8i需要自定义游标create or replace package pkg_getResultData is
      type ResultData is ref cursor;
      procedure getResultData(rst out ResultData);
    end pkg_getResultData;
    /
    create or replace package body pkg_getResultData is
      procedure getResultData(rst out ResultData) is
      begin
        open rst for select * from t;
      end;
    end pkg_getResultData;
      

  3.   

    这样调用的话,在。net里面是不是和其他的存储过程一样。然后存储过程里面的输出参数在程序里面应该怎样传入再请各位给指点一下。