- 类别:
系统函数 (系统控制)
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 | -----------------------------------------+