例: NOWAITオプション - Teradata Database - Teradata Vantage NewSQL Engine - 例: NOWAITオプション、LOCKINGリクエスト修飾子

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

即時にサービスを受けられない場合は、ロック キューに置きたくないリクエストがあります。この場合、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に対して保持されているロックはなかったため、リクエストは正常に完了しました。