すべてのプロダクト
Search
ドキュメントセンター

PolarDB:カーソル変数を閉じる

最終更新日:May 29, 2024

静的カーソルとは異なり、カーソル変数を再度開く前に閉じる必要はありません。 以前に開いたカーソル変数からの結果セットは失われます。

この例は、CLOSEステートメントの追加で完了しています。

CREATE OR REPLACE PROCEDURE emp_by_dept (
    p_deptno emp.de ptno % TYPE
)
IS
    emp_refcur SYS_REFCURSOR;
    v_empno         emp.empno%TYPE;
    v_ename emp.ename % TYPE;
開始
    OPEN emp_refcur FOR SELECT empno、ename FROM emp WHERE deptno = p_deptno;
    DBMS_OUTPUT.PUT_LINE('EMPNO    ENAME');
    DBMS_OUTPUT.PUT_LINE('-----    -------');
    LOOP
        FETCH emp_refcurにv_empno、v_ename;
        emp_refcur % NOTFOUNDのときに終了します。
        DBMS_OUTPUT.PUT_LINE(v_empno || '     ' || v_ename);
    END LOOP;
    閉じるemp_refcur;
エンド; 

このプロシージャを実行すると、次の出力が生成されます。

EXEC emp_by_dept (20)

EMPNO ENAME
----- -------
7369スミス
7566ジョーンズ
7788スコット
7876アダムス
7902フォード