16.20 - 構文要素 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)

ロッキング オブジェクト

DATABASE
意選択のキーワードで、ロックが設定されるオブジェクトのタイプを指定します。
database_name
ロックが設定されるデータベースまたはユーザーの名前を指定します。
TABLE
意選択のキーワードで、ロックが設定されるオブジェクトのタイプを指定します。
table_name
ロックが設定される基本テーブルの名前を指定します。
VIEW
意選択のキーワードで、ロックが設定されるオブジェクトのタイプを指定します。
view_name
ロックが設定されるビューの名前を指定します。
ROW
定義する文に従ってロックが設定される行ハッシュまたは行キーのレベルを指定する任意のキーワード。LOCKING ROWの使用を参照してください。

ロックの種類

次のロックの重大度を指定することができます。ロックの詳細については、<Teradata Vantage™ SQLリクエストおよびトランザクション処理、B035-1142>の「ロックおよびトランザクション処理」を参照してください。

FOR
IN
この後にロックの種類が続きます。
ACCESS
他のユーザーによる書き込みアクセス用にロックされている可能性がある基本テーブルから、データの選択ができるようにします。
ACCESSロックを使用して選択されたデータは、データがリクエストと同時に変更されることがあるため一貫性に欠けることがあります。そのため、このロックは一時的なデータ調査にだけ使用すべきです。
ACCESSロックを設定するには、指定されたオブジェクトに対するSELECT権限が必要です。
EXCLUSIVE
他のすべてのユーザーを排除します。
これは、最も拘束力のあるロックです。
EXCLUSIVEロックは、データベースに対する構造的な変更を除いて、まれにしか使用されません。
データベース オブジェクトに対してEXCLUSIVEロックを設定するには、そのオブジェクトに対するDROP権限が必要です。
READ
SHARE
読取り操作(SELECTリクエストなど)でのデータの一貫性を保証します。
複数のユーザーは、基本テーブルに同時にREADロックを保持することができます。READロックが設定されているかぎり、オブジェクトの変更は許可されません。
READロックを設定するには、指定されたオブジェクトに対するSELECT権限が必要です。
SHAREは廃止予定のREADと同義語です。
WRITE
単一のユーザーがデータを変更できるようにします。
WRITEロックが設定されているかぎり、ACCESSロックを使用してデータを見るユーザーを除いて、他のすべてのユーザーはオブジェクトを見たり変更することができなくなります。
WRITEロックが解除されるまで、ロックされたオブジェクトに対する新しいREADロックは許可されません。
WRITEロックを設定するには、指定されたオブジェクトに対するUPDATE、INSERT、またはDELETE権限が必要です。
CHECKSUM
ストアド プロシージャの外部に送信される更新可能なカーソル クエリーにのみ使用されます。
OVERRIDE
クエリーの基礎となる基本テーブルに対するロールバックがRecovery ManagerユーティリティのCANCEL ROLLBACK ON TABLEコマンドを使用して取り消された場合に、単一テーブルSELECT操作にREADロックが許可されます。詳細は、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。
READロック リクエストを持つOVERRIDEオプションのみを指定できます。
LOAD COMMITTED
ロード コミット読み取りモード。このオプションは、セッション トランザクション分離レベルから独立しています。
他のトランザクションによる書き込みアクセス用にロックされている可能性がある実ロード分離テーブルから、コミットされたデータの選択ができるようにします。
LOAD COMMITTEDロックを設定するには、指定されたオブジェクトに対するSELECT権限が必要です。
内部的に、ACCESSロックはロード コミット読み取りモードが指定されると適用されます。
MODE
ロック タイプの後の任意のキーワード

待機しないオプション

NOWAIT
示されたロックが獲得できない場合に、そのリクエストをアボートする必要があります。
リクエストがリソースを待機する状況や、別のリクエストが使用できるリソースを待機中に固定する状況が望ましくない場合に指定します。

SQLリクエスト

SQL_request
有効なSQLリクエスト。
LOCKINGをCALL文と一緒に指定することはできません。
SQL_requestがnullの場合、LOCKの効果は、指定されたオブジェクトにロックを設定するだけです。
この指定は、行レベルのロック(行ハッシュまたは行キー)には必須ですが、データベース レベル、基本テーブル レベル、およびビューレベルのロックについては任意指定です。