在oracle的存储过程中怎样接收一个游标,请高手写一个例示,
新建一个存储过程,返回游标,然后再写一个存储过程接收它.thanks

解决方案 »

  1.   

    EMP数据库例子
    CREATE OR REPLACE PROCEDURE P_RETR_CURSOR
    (P_ID IN NUMBER,
    P_RECSET OUT SYS_REFCURSOR) AS
    --Created by xsb on 2004-11-09 For: 存储过程返回记录集
    BEGIN
    OPEN P_RECSET FOR
    SELECT e.empno,e.ename
    FROM emp e
    WHERE empno = P_ID;
    END;DECLARE
    I NUMBER;
    S VARCHAR2(100);
    M SYS_REFCURSOR;
    BEGIN
    FOR J IN 7900..7902 LOOP
    P_RETR_CURSOR(J, M);
    FETCH M
    INTO I, S;
    DBMS_OUTPUT.PUT(I || '-');
    DBMS_OUTPUT.PUT_LINE(S);
    CLOSE M;
    END LOOP;
    END;
    /