| October 10, 2008 05:46:19 |
#1 |
| rajivgupta780184 |
Member Since: August 2008 Total Comments: 24 |
RE: Handle Multiple Rows Without Loops |
If we want to return multiple row from a function then we can use ref cursor
function .Example is given below:
create or replace function f1 return sys_refcursor as r1 sys_refcursor; begin open r1 for select * from emp; return(r1); end; call the
function as :select f1 from
dual; then it returns :
CURSOR STATEMENT : 1CURSOR STATEMENT : 1 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 10000 10
|
| |