日期:2014-05-17  浏览次数:21027 次

select出cursor
请问如何用一条select语句select出一个cursor ref的记录?那个cursor ref是从function中返回的.

------解决方案--------------------
-- 定义游标 
declare 
cursor aa is 
select names,num,to_char(sysdate,'YYYY-MM-DD') DATE from test; 

使用函数和上面的to_char函数道理是一样的

------解决方案--------------------
没有直接的select就可以展开的。你用plsql的话,select是一个游标,你可以像打开clob那样展开内容。
或者使用程序块或过程来输出:给你个例子
SQL code
create or replace function fc return sys_refcursor as
c sys_refcursor;
begin
open c for select * from emp;
return c;
end;

------解决方案--------------------
函数返回的是引用游标的类型
你只能得到这个返回类型
如果你可以定义一个函数来接收这个游标,你需要的功能貌似还可以实现
SQL code
declare
 c sys_refcursor;
begin
SELECT pkg_test.get() into c FROM dual ;
end;