oracle 中 如何编写 包 实现SQL动态查询

koujm 2006-04-28 09:00:17
请问各位高手在 oracle 中 如何编写 包 实现SQL动态查询,
包 含有 fetch 结果集返回到ref cursor中;
CREATE OR REPLACE package pk_sr
is
type type_cur is ref cursor;
PROCEDURE selectrecord(
Psql in varchar2, --查询语句
v_cur out type_cur --返回的结果集
);
end;
/
---包体
CREATE OR REPLACE package body pk_sr is
PROCEDURE selectrecord(
Psql in varchar2, --查询语句
v_cur out type_cur --返回的结果集
)
Begin
v_sql := Psql;
open v_cur for v_sql;
-----loop
loop
fetch v_cur into --????
exit when cursor%NOTFOUND
end loop;
-----loop
End ;
End ;
/
end;
/
请问loop中应该怎么写呀!
...全文
257 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
koujm 2006-04-29
  • 打赏
  • 举报
回复
多谢!
bobfang 2006-04-29
  • 打赏
  • 举报
回复
如果需要将ref cursor做为输出参数返回,open后不能fetch。
koujm 2006-04-29
  • 打赏
  • 举报
回复
多谢 bobfang(匆匆过客) 请问在
open v_cur for v_sql;
可以 fetch 吗?
bobfang 2006-04-29
  • 打赏
  • 举报
回复
---包体
CREATE OR REPLACE package body pk_sr is
PROCEDURE selectrecord(
Psql in varchar2, --查询语句
v_cur out type_cur --返回的结果集
)
Begin
v_sql := Psql;
open v_cur for v_sql;
End ;
End ;
/

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧