函数使用游标返回数据集并显示的问题~~~

c_shli 2008-11-21 09:19:22
有个函数使用游标返回数据集
type refCursorType is REF CURSOR;
function fun_cz
()
return refCursorType
is
p_OutCursor refCursorType;
begin
open p_OutCursor for select f1,f2,f3 from t1;
return p_OutCursor;
end fun_cz;
然后我想使用select把数据集显示出来,这select应该怎样写?
在sql plus里用select * from (select fun_cz() from dual) 到是能显示出数据集可是显示的确是dual里的字段
所以select f1,f2,f3 from (select fun_cz() from dual)就会报找不到f1 f2 f3字段的错
刚从mssql转到oracle很多闹不明白的地方~~~~~mssql里面很简单的问题到oracle咋就这样麻烦:(

...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
c_shli 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 BlueskyWide 的回复:]
SQL code--函数必须有输入值后才可返回。selectfun_cz(输入变量或字段)fromdual;


引用楼主 c_shli 的帖子:
有个函数使用游标返回数据集
type refCursorType is REF CURSOR;
function fun_cz
()
return refCursorType
is
p_OutCursor refCursorType;
begin
open p_OutCursor for select f1,f2,f3 from t1;
return p_OutCursor;
end fun_cz;
然后我想使用select把数据集显示出来,这select应该怎样写?
在sql pl…
[/Quote]
有输入值我就是举个例子懒得往上打,输入值太多了~~~~~~
我主要是问select 取数据的问题
wiler帮我解决了3q:)
codearts 2008-11-21
  • 打赏
  • 举报
回复
用sqlplus可以:

sql>var x is refcursor
sql>:x := func();
sql>print :x;

select 不能直接从ref cursor取数据的
BlueskyWide 2008-11-21
  • 打赏
  • 举报
回复
--函数必须有输入值后才可返回。

select fun_cz(输入变量或字段) from dual;




[Quote=引用楼主 c_shli 的帖子:]
有个函数使用游标返回数据集
type refCursorType is REF CURSOR;
function fun_cz
()
return refCursorType
is
p_OutCursor refCursorType;
begin
open p_OutCursor for select f1,f2,f3 from t1;
return p_OutCursor;
end fun_cz;
然后我想使用select把数据集显示出来,这select应该怎样写?
在sql plus里用select * from (select fun_cz() from dual) 到是能显示出数据集可是显示的确…
[/Quote]
wiler 2008-11-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/wiler/archive/2007/03/12/1526520.aspx

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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