- カテゴリ:
システム関数 (システム制御)
SYSTEM$ABORT_TRANSACTION¶
指定されたトランザクションが実行中の場合、中止します。トランザクションがすでにコミットまたはロールバックされている場合、トランザクションの状態は変更されません。
詳細については、 トランザクション をご参照ください。
構文¶
SYSTEM$ABORT_TRANSACTION(<transaction_id>)
引数¶
transaction_id
中止するトランザクションの識別子です。トランザクション IDsを取得するには、 SHOW TRANSACTIONS または SHOW LOCKS コマンドを使用できます。
使用上の注意¶
この関数は、明示的/複数ステートメントのトランザクションでのみサポートされています。自動コミットトランザクションを中止するには、関連するジョブを中止します。
「CREATE TABLE AS SELECT ...」を含む DDL ステートメントは、開いているトランザクションを暗黙的にコミットします。暗黙的なコミットが終了した後、以前に開いていたトランザクションを中止することはできません。
トランザクションを中止できるのは、トランザクションを開始したユーザーまたはアカウント管理者のみです。
例¶
SHOW LOCKS IN ACCOUNT; --------------+--------+---------------+---------------------------------+---------+---------------------------------+--------------------------------------+ session | table | transaction | transaction_started_on | status | acquired_on | query_id | --------------+--------+---------------+---------------------------------+---------+---------------------------------+--------------------------------------+ 103079321618 | ORDERS | 1442254688149 | Mon, 14 Sep 2015 11:18:08 -0700 | HOLDING | Mon, 14 Sep 2015 11:18:16 -0700 | 6a478582-9e8c-4603-b5bf-89b14c042e1a | 103079325702 | ORDERS | 1442255439400 | Mon, 14 Sep 2015 11:30:39 -0700 | WAITING | [NULL] | 82fea8a6-a679-4de1-b6e9-7a80905831cf | --------------+--------+---------------+---------------------------------+---------+---------------------------------+--------------------------------------+ SELECT SYSTEM$ABORT_TRANSACTION(1442254688149); -----------------------------------------+ SYSTEM$ABORT_TRANSACTION(1442254688149) | -----------------------------------------+ Aborted transaction id: 1442254688149 | -----------------------------------------+