Oracle游标问题!!!!!!!急用,,在线跪求

laol846 2011-09-23 11:43:38
现在项目中有个需求就是要去读取几张表的数据做判断

处理后的数据放到一个集合里面返回给页面

看了oracle的plsql觉得这些数据要放游标里面

但是看了游标的语法基本是open c_emp for select empno, ename from emp;
那个游标里面值的类型都是根据某张表去限定的,但是我返回的数据,要定义的游标类型却是自己定义的,游标里面的数据类型可以是多个表的数据吗????????

有这样处理经验的麻烦说下

应该怎么处理


急用,,在线跪求
...全文
145 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ITWIT 2011-09-23
  • 打赏
  • 举报
回复
游标返回的数据可以是多个表的数据,同意楼上yixilan的解释。
返回到页面的游标中存放的都是基本数据类型的话使用游标很方面,如果需要返回的是复杂类型,应该需要定义数据库类型,单纯的通过游标应该不好实现。
终端用户 2011-09-23
  • 打赏
  • 举报
回复
当然可以了,没有谁规定必须是一个表中的字段阿,
你可以自己定义结构体
胖胖_多多 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yixilan 的回复:]
这样定义:
CURSOR CUR_MULTI IS
SELECT T1.A A, T2.B B, T3.C C FROM T1, T2, T3;

REC_MULTI CUR_MULTI%ROWTYPE;

这样使用:
OPEN CUR_MULTI ;
FETCH CUR_MULTI INTO REC_MULTI;
--分别是CURSOR里的三个字段的值
REC_MULTI.A……
[/Quote]
++
renfengjun 2011-09-23
  • 打赏
  • 举报
回复
可以使用视图嘛。
opps_zhou 2011-09-23
  • 打赏
  • 举报
回复
declare
c_output sys_refcursor;
begin
open c_output for
select empno, ename, dname
from emp, dept
where emp.deptno = dept.deptno;
end;
yixilan 2011-09-23
  • 打赏
  • 举报
回复
这样定义:
CURSOR CUR_MULTI IS
SELECT T1.A A, T2.B B, T3.C C FROM T1, T2, T3;

REC_MULTI CUR_MULTI%ROWTYPE;

这样使用:
OPEN CUR_MULTI ;
FETCH CUR_MULTI INTO REC_MULTI;
--分别是CURSOR里的三个字段的值
REC_MULTI.A,
REC_MULTI.B,
REC_MULTI.C,
CLOSE CUR_MULTI ;

3,499

社区成员

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

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