INSERT操作は、更新中のテーブルに適切なレベルでWRITEロックを設定します。
- すべてのAMP上のテーブルのすべての行に対するテーブル レベル ロック
- すべてのAMP上の選択したパーティションのすべての行に対するパーティション ロック
- 1つのAMPに同じハッシュ値を持つ行に対する行ハッシュ、または1つのAMPに同じパーティション値とハッシュ値を持つ行に対する行キー
ターゲット テーブルがロード分離で、挿入が分離ロード操作でない場合、WRITEロックではなくEXCLUSIVEロックがそのレベルで適用されます。WITH NO ISOLATED LOADINGオプションが指定されている、または分離ロード操作がテーブルまたはセッションで無効になっている場合、挿入は分離ロード操作ではありません。CREATE TABLE WITH ISOLATED LOADINGオプションとSET SESSION FOR ISOLATED LOADING文の詳細については、<Teradata Vantage™ SQLデータ定義言語 - 構文規則および例、B035-1144>を参照してください。
SELECTサブクエリー操作に対して設定されたロックは、セッションの分離レベル、AccessLockForUncomRead DBS制御フィールドの設定、および、SELECT操作やINSERTリクエストのなかにサブクエリーが埋め込まれているかどうかによって異なります。
トランザクションの分離レベル | DBS制御AccessLockForUncomReadフィールド設定 | 外部SELECTと通常のSELECTサブクエリー操作におけるデフォルト値のロック重大度 | INSERTリクエスト内に埋め込まれているSELECTオプションに対するデフォルトのロック重大度 |
---|---|---|---|
SERIALIZABLE | FALSE | READ | READ |
TRUE | READ | ||
READ UNCOMMITTED | FALSE | READ | |
TRUE | ACCESS |
以下も参照してください。
- <Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>の「SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL」
- Teradata Vantage™ SQLリクエストおよびトランザクション処理、B035-1142
- Teradata Vantage™ - データベース ユーティリティ、B035-1102