三流備忘録OracleのSQL PL/SQL 関数 ついての備忘録
カーソルの応用
カーソルを使用した更新
DECRARE
CURSOR CSR1 IS
SELECT dept_id
FROM T_HOGE
WHERE dept_id BETWEEN 1 TO 5
FOR UPDATE; --FOR UPDATEを付ける
BIGIN
/*****************************************************************
・UPDATE...WHERE CURRENT OF カーソル名;
/*****************************************************************
FOR CSR1_REC IN CSR1 LOOP
UPDATE T_HOGE SET dept_id = dept_id + 5
WHERE CURRENT OF CSR1;
END LOOP;
END;
カーソルを使用した削除
DECRARE
CURSOR CSR1 IS
SELECT dept_id
FROM T_HOGE
WHERE dept_id BETWEEN 1 TO 5
FOR UPDATE; --FOR UPDATEを付ける
BIGIN
/*****************************************************************
・UPDATE...WHERE CURRENT OF カーソル名;
/*****************************************************************
FOR CSR1_REC IN CSR1 LOOP
DELETE FROM T_HOGE
WHERE CURRENT OF CSR1;
END LOOP;
END;