各位请帮帮我,

create or replace package TEXT4 is
 type CUR is ref cursor;
 function f_Get(f_id in varchar2) return CUR;
end TEXT4;
包体
create or replace package body TEXT4 is
 function F_Get(F_id in varchar2) return CUR is
 M_CUR CUR;
 begin
 open M_CUR FOR
    select * from student where id=f_id;
    return M_CUR;
  end;
end TEXT4;
我要用函数的返回结果怎么用啊?

解决方案 »

  1.   

    SELECT TEXT4.F_GET('10000') FROM DUAL;
      

  2.   

    dual 是个啥,,经常看到?嘿嘿
      

  3.   

    dual 是一个只有一列且值为X的表,一般用来做测试用
    SQL> select *from dual;D
    -
    X
      

  4.   

    begin
    TEXT4.F_GET('10000');
    end
    这样也应该可以
      

  5.   

    你返回的是一个打开的游标,也就是只能在过程或函数中掉用了。
    你可以用诸如 FETCH TEXT4.F_GET('10000') INTO 来逐条取得里面的记录。
      

  6.   

    TEXT4.F_GET(retrun  CUR)接返回参数时也要用一个游标类型来接