即時にサービスを受けられない場合は、ロック キューに置きたくないリクエストがあります。この場合、NOWAITオプションを使用します。たとえば、次のようになります。
LOCKING employee FOR READ NOWAIT SELECT employee_number, last_name FROM employee WHERE department_number=401; *** Failure 7423 Object already locked and NOWAIT. Transaction Aborted. Statement# 1, Info =0
別のリクエストにはロックされたemployeeがあったので、リクエストを再実行する必要があります。
LOCKING employee FOR READ NOWAIT SELECT employee_number, last_name FROM employee WHERE department_number=401; *** Query completed. 7 rows found. 2 columns returned. *** Total elapsed time was 1 second. employee_number last_name --------------- -------------------- 1003 Trader 1004 Johnson 1013 Phillips 1002 Brown 1010 Rogers 1022 Machado 1001 Hoover
今回は、employeeに対して保持されているロックはなかったため、リクエストは正常に完了しました。