在版本9i之后,就有了游标表达式的概念,因为一旦有两个一对多的关系,单用连接是实现不了的。
举例:
SQL> select deptno,
2 dname,
3 cursor (select empno, ename from emp where deptno = d.deptno) emp,
4 cursor (select custid, custname
5 from customers
6 where purchasing_dept = d.deptno) custs
7 from dept d;
DEPTNO DNAME EMP CUSTS
---------- -------------- -------------------- --------------------
50 a CURSOR STATEMENT : 3 CURSOR STATEMENT : 4
CURSOR STATEMENT : 3
未选定行
CURSOR STATEMENT : 4
未选定行
DEPTNO DNAME EMP CUSTS
---------- -------------- -------------------- --------------------
10 ACCOUNTING CURSOR STATEMENT : 3 CURSOR STATEMENT : 4
CURSOR STATEMENT : 3
EMPNO ENAME
---------- ----------
7782 CLARK
7839 KING
7934 MILLER
CURSOR STATEMENT : 4
CUSTID
----------
CUSTNAME
--------------------------------------------------------------------------------
1
xiaowang
3
xiaotom
20 RESEARCH CURSOR STATEMENT : 3 CURSOR STATEMENT : 4
CURSOR STATEMENT : 3
EMPNO ENAME
---------- ----------
7369 SMITH
7566 JONES
7788 SCOTT
7876 ADAMS
7902 FORD
CURSOR STATEMENT : 4
CUSTID
----------
CUSTNAME
--------------------------------------------------------------------------------
2
xiaolie
30 SALES CURSOR STATEMENT : 3 CURSOR STATEMENT : 4
CURSOR STATEMENT : 3
EMPNO ENAME
---------- ----------
7499 ALLEN
7521 WARD
7654 MARTIN
7698 BLAKE
7844 TURNER
7900 JAMES
已选择6行。
CURSOR STATEMENT : 4
未选定行
DEPTNO DNAME EMP CUSTS
---------- -------------- -------------------- --------------------
40 OPERATIONS CURSOR STATEMENT : 3 CURSOR STATEMENT : 4
CURSOR STATEMENT : 3
未选定行
CURSOR STATEMENT : 4
未选定行
已用时间: 00: 00: 00.03
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10037372/viewspace-663404/ ,如需转载,请注明出处,否则将追究法律责任。