Oracle 21c for update文にWAITを指定してレコードのロック待機する方法
環境
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0
書式
FOR UPDATE
[ WAIT [ 待機時間 ]]
WAIT句
対象レコードにロックがかかっていた時に、ロックが開放されるまで待機します。
待機時間が指定してある場合は、ロックが開放されるまで最大で、指定した待機時間まで待機します。
使用例
表「user」と表「student」のSELECTレコードは全てロックします。
SELECT時にロックがかかっていた場合は、ロックが開放されるまで最大30秒待機します。
SQL構文
select t1.ecd , t2.dcd , t1.name from user t1 , student t2 where t1.dcd = t2.dcd for update wait 30;