+ -
当前位置:首页 → 问答吧 → Oracle游标问题!!!!!!!急用,,在线跪求

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

时间:2011-09-23

来源:互联网

现在项目中有个需求就是要去读取几张表的数据做判断

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

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

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

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

应该怎么处理


急用,,在线跪求

作者: laol846   发布时间: 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 ;

作者: yixilan   发布时间: 2011-09-23

SQL code
declare
    c_output        sys_refcursor;
begin
    open c_output for
        select empno, ename, dname
          from emp, dept
         where emp.deptno = dept.deptno;
end;

作者: opps_zhou   发布时间: 2011-09-23

可以使用视图嘛。

作者: renfengjun   发布时间: 2011-09-23

引用 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……

++

作者: rihyou   发布时间: 2011-09-23

当然可以了,没有谁规定必须是一个表中的字段阿,
你可以自己定义结构体

作者: lxyzxq2008   发布时间: 2011-09-23

游标返回的数据可以是多个表的数据,同意楼上yixilan的解释。
返回到页面的游标中存放的都是基本数据类型的话使用游标很方面,如果需要返回的是复杂类型,应该需要定义数据库类型,单纯的通过游标应该不好实现。

作者: ITWIT   发布时间: 2011-09-23

热门下载

更多