不整合データの追跡調査によって知りましたので。

早速。


□SELECT 時に明示的な行ロックを行なう方法

SELECT col
FROM table
WHERE col = 1
FOR UPDATE
[OF col WAIT 10] --10秒までは、競合するトランザクションの完了を待つ。
;


※UPDATE しない SELECT FOR UPDATE の終了処理

SELECT ... FOR UPDATE ;
IF (condition) THEN
UPDATE ... SET ... ;
-- COMMIT; ここには COMMIT 文を記述しない
END IF;
COMMIT ; -- ← ここで COMMIT すると FOR UPDATE は常に解放される



ネットで調べたもののコピペですけど、、、

覚えておきましょっとひらめき電球