Oracle 21c FOR UPDATEで指定テーブルのレコードをロックする方法
環境
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0
書式
FOR UPDATE
[ OF 表.列名 ]
OF句
表を結合する場合に使用し、表とその列名を指定します。
OF句で指定した表のSELECTしたレコードがロックされますが、OF句で指定してない表はロックされません。
使用例
表「user」のSELECTレコードのみロックし、表「info」のSELECTレコードはロックしない。
SELECT時にロックがかかっていた場合は、ロックが開放されるまで待機します。
SQL構文
select t1.ucd , t2.dcd , t1.name from user t1 , info t2 where t1.dcd = t2.dcd for update of t1.ucd;