现在项目中有个需求就是要去读取几张表的数据做判断处理后的数据放到一个集合里面返回给页面看了oracle的plsql觉得这些数据要放游标里面但是看了游标的语法基本是open c_emp for select empno, ename from emp;   
那个游标里面值的类型都是根据某张表去限定的,但是我返回的数据,要定义的游标类型却是自己定义的,游标里面的数据类型可以是多个表的数据吗????????有这样处理经验的麻烦说下应该怎么处理
急用,,在线跪求

解决方案 »

  1.   

    这样定义:
    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 ;
      

  2.   

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

  3.   

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