ROWID를 이용하지 않고 커서의 WHERE CURRENT OF 를 이용하여 업데이트와 삭제가 일어나도록 하는 작업이다.

이는 반드시 참조 커서가 있어야하며 FOR문 안에 업데이트 또는 삭제 쿼리가 존재해야한다.

다음은 그 예제이다.

CREATE OR REPLACE PROCEDURE TEST

IS

CURSOR v_cursor IS

SELECT * FROM TABLE;

BEGIN

FOR list IN v_cursor LOOP

UPDATE TABLE

SET NO = 1

WHERE CURRENT OF v_cursor;

END LOOP;

EXCEPTION

WHEN OTHERS THEN 작업 내용

END;