16.20 - END TRANSACTION - 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
日本語 (日本)

目的

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

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

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

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

必要な権限

なし。

構文



ANSI準拠

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

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

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が処理される際、トランザクションがすでにアボートされているのでなければ、コミットが行なわれます。