カーソルのクローズ (PL/SQL)

カーソルに関連付けられた結果セットからすべての行を取り出した後、カーソルをクローズする必要があります。 カーソルのクローズ後は、結果セットを参照することはできません。

しかし、カーソルを再オープンし、新規結果セットの行をフェッチすることができます。

構文

構文図を読む構文図をスキップするCLOSE cursor-name

説明

cursor-name
PL/SQL コンテキスト内で既に宣言されているオープン・カーソルの ID を指定します。

以下の例は、CURSOR_EXAMPLE プロシージャーの一部であるカーソルに対する CLOSE ステートメントを示しています。
CREATE OR REPLACE PROCEDURE cursor_example
IS
    v_emp_rec       emp%ROWTYPE;
    CURSOR emp_cur_1 IS SELECT * FROM emp;
BEGIN
    OPEN emp_cur_1;
    FETCH emp_cur_1 INTO v_emp_rec;
    DBMS_OUTPUT.PUT_LINE('Employee Number: ' || v_emp_rec.empno);
    DBMS_OUTPUT.PUT_LINE('Employee Name  : ' || v_emp_rec.ename);
    CLOSE emp_cur_1;
END;