END TRANSACTION - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

明示的なTeradataセッション モードのトランザクションの終了を定義し、トランザクションをコミットし、一時ジャーナルを削除します。

明示的なTeradataセッション モード トランザクションは常にBEGIN TRANSACTION文から開始し、Teradataセッション モードで明示的なトランザクションの範囲を定義するには、BEGIN TRANSACTIONとEND TRANSACTIONの両方の文を必ず指定します。

END TRANSACTIONの使用の詳細については、BEGIN TRANSACTIONを参照してください。

以下も参照してください。

ANSI準拠

END TRANSACTIONは、ANSI SQL:2011規格に対するTeradata拡張機能です。

この文は、Teradataセッション モードでだけ有効です。END TRANSACTION文をANSIセッション モードで実行すると、データベースはリクエストをアボートし、エラーを返します。

ANSIセッション モードのトランザクション制御文については、COMMITROLLBACKを参照してください。

必要な権限

なし。

BEGIN TRANSACTION/END TRANSACTIONのペアと明示的なトランザクション

Teradataセッション モードで明示的なトランザクションをコード記述する場合、トランザクションはBEGIN TRANSACTION文で開始し、END TRANSACTION文で終わらなければなりません。BEGIN TRANSACTIONを参照してください。

END TRANSACTIONおよび複文リクエスト

複文リクエストには1つのみのEND TRANSACTION文を指定することができます。その場合、リクエスト内の最後に指定しなければなりません。

END TRANSACTION、ABORTおよびROLLBACKの影響の違い

END TRANSACTIONリクエストは終了してトランザクションをコミットし、一時ジャーナルを削除するのに対し、ABORTおよびROLLBACKの各リクエストは、トランザクションをロールバックで終了します。ABORTROLLBACKを参照してください。

一般に、COMMIT文を使ってトランザクションをコミットする場合のルールは、同様にEND TRANSACTIONにも当てはまります。COMMITを参照してください。

埋め込みSQLを使用したEND TRANSACTIONのルール

埋め込みSQLにおけるEND TRANSACTIONの使用の際に、以下のルールが適用されます。
  • END TRANSACTIONが有効なのは、TRANSACT(BTET)または-tr(BTET)オプションをプリプロセッサに指定した場合だけです。そうしない場合にはエラーが返され、プリコンパイルが失敗します。
  • END TRANSACTIONを動的SQL文として実行することはできません。
  • END TRANSACTIONが処理される際、トランザクションがすでにアボートされているのでなければ、コミットが行なわれます。