Kategorien:

Systemfunktionen (Systemsteuerung)

SYSTEM$ABORT_TRANSACTION

Bricht die angegebene Transaktion ab, sollte sie gerade ausgeführt werden. Wenn die Transaktion bereits comittet oder zurückgesetzt wurde, wird der Status der Transaktion nicht geändert.

Weitere Informationen dazu finden Sie unter Transaktionen.

Syntax

SYSTEM$ABORT_TRANSACTION(<transaction_id>)
Copy

Argumente

transaction_id

Bezeichner für die Transaktion, die abgebrochen werden soll. Um Transaktions-IDs zu erhalten, können Sie die Befehle SHOW TRANSACTIONS oder SHOW LOCKS verwenden.

Nutzungshinweise

  • Diese Funktion wird nur bei expliziten Transaktionen/Transaktionen mit mehreren Anweisungen unterstützt. Autocommit-Transaktionen können durch Abbruch des zugehörigen Jobs abgebrochen werden.

  • Beachten Sie, dass DDL-Anweisungen, einschließlich „CREATE TABLE AS SELECT …“, eine offene Transaktion implizit committen. Nach Abschluss des impliziten Commit kann die zuvor offene Transaktion nicht abgebrochen werden.

  • Transaktionen können nur von dem Benutzer, der die Transaktion gestartet hat, oder einem Kontoadministrator abgebrochen werden.

Beispiele

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   |
-----------------------------------------+
Copy