function:
create or replace function sql_test (sql_str varchar2) return SYS_REFCURSOR is
po_return sys_refcursor;
begin
open po_return for sql_str;
return(po_return);
end ; 调用:
declare
cur1 SYS_REFCURSOR;
v_dual varchar2(100);
i number;
begin
v_dual:='select 1 id from dual union all select 2 from dual';
cur1:=sql_test(v_dual);
loop
fetch cur1 into i;
exit when cur1%notfound;
dbms_output.put_line('----------------i :'||i);
end loop;
close cur1;
end;
本文介绍了一个使用PL/SQL创建游标返回函数的例子。该函数接收一个SQL字符串作为参数,并返回一个SYS_REFCURSOR类型的游标。通过声明和调用此函数,可以在循环中遍历查询结果并打印每条记录。
3033

被折叠的 条评论
为什么被折叠?



