如何获取oracle sys_refcursor变量中的值

Filywysss 2011-10-28 04:06:26
例如: select package.function(t.a, t.b, t.c) from table1 t where t.d = 1;package.function(t.a, t.b, t.c)方法返回的就是一个sys_refcursor 。 假如:package.function(t.a, t.b, t.c)结果集是这样的({aa:1;bb:2;cc:3})。如果我想用select获取aa的值改怎么写!
...全文
765 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
BenChiM888 2011-10-31
  • 打赏
  • 举报
回复
除非你的函数返回的是表(table)类型,游标变量貌似不能。


[Quote=引用 2 楼 filywysss 的回复:]

真的不行吗大哥!
[/Quote]
forgetsam 2011-10-30
  • 打赏
  • 举报
回复
1 如果此函数对表每行返回多行 用table函数
2 如果此函数对表每行返回一行 直接把类型改了。
Filywysss 2011-10-29
  • 打赏
  • 举报
回复
真的不行吗大哥!
BenChiM888 2011-10-28
  • 打赏
  • 举报
回复
这个貌似不能select

[SYS@myoracle] SQL>var myrefcursor refcursor
declare
v_a table1.a%type;
v_b table1.b%type;
v_c table1.c%type;
begin
select a,b,c
into v_a,v_b,v_c
from table1
where rownum = 1;

:myrefcursor := package.function(v_a,v_b,v_c);
end;
print myrefcursor;

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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