arveltのソフトウェア技術メモ

Arvelt's software technology memo

オープンしたカーソルがcomitで閉じてしまうのが困るときにwith holdを使うと幸せになる話

タイトルの通り。


DECLARE宣言するときに、DECLARE WITH HOLD みたいに書けばいい。
もちろん詳しくはマニュアルを確認してね。


データベースでカーソル開いて読んで閉じてという制御を、データの更新や挿入とは分けて考えられるから幸せ。



ちなみにこれをやらないと何がこまるのかというと、今までフェッチしたデータに対応する条件を覚えておきて、コミットしたあとで、その条件でもう一度カーソルを開き直すとかやらないといけなくなる。めんどくさすぎる。
oracle以外で似たようなことやるにはどうやればいいのかな。