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;

 

Oracle 21c

Posted by arkgame