讨论讨论---ORACLE为什么不让存储过程直接返回结果集,却要返回游标的方式呢? 如题!!思,不得解。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 存储过程?返回?你是説out? 可以返回retype的结果集吧! 9i前自定义type,9i起sys_refcursor可存储结果集。“返回游标的方式”,不知道是什么意思。 哦??retype是什么?是定义一个TYPE吗?那么怎么才能把结果集取出来给他呢? 您所说的这个sys_refcursor只不过时系统自建的一个TYPE而已,方便了使用,使开发者不用自己定义了,其实机制和内部实现都还是一样的,并不是存储结果集,而是存储一个游标,要取得1000行数据,还是要逐行去读不是? 看来你对游标的定义理解和sql执行过程还有点问题。所有的查询都需分配一个游标,只不过是显式游标或者隐式游标。你的意思是如 直接执行select * from t;其实这个语句执行、返回结果,第一步还是分配一个隐式游标。而存储过程要你定义一个显式游标,是为了得到结果集内存句柄,进一步处理结果集。你如果不再进一步处理结果集,那么和普通sql没区别。 type r is record(a ..);type r2 is table of r index by binary_integer;v_record r2execute immediate 'select 语句' bulk collect into v_record 求教!sql语句执行效率问题。。。。。 学了Oracle一个星期_一直困扰我的问题 Oracle 的select into 日期型变量的问题,为什么只有日期,而没有时间呢? 我的oracle 这样改了 nextdate 能不能运行 求一句sql的对错 有没有更好的方法 求一SQL语句 高分求助查询问题 请问这个select该怎么写 查看JOBS的语句怎么么写啊 关于在Pl/sql中创建数据库的问题? .net 连接 linux 下Oracle 10.2 求助 oracle pl/sql 插入数据缺失右括号00907错误
你是説out?
可以返回retype的结果集吧!
那么怎么才能把结果集取出来给他呢?
其实机制和内部实现都还是一样的,并不是存储结果集,而是存储一个游标,要取得1000行数据,还是要逐行去读不是?
所有的查询都需分配一个游标,只不过是显式游标或者隐式游标。你的意思是如 直接执行select * from t;其实这个语句执行、返回结果,第一步还是分配一个隐式游标。
而存储过程要你定义一个显式游标,是为了得到结果集内存句柄,进一步处理结果集。你如果不再进一步处理结果集,那么和普通sql没区别。
type r2 is table of r index by binary_integer;
v_record r2execute immediate 'select 语句'
bulk collect into v_record