- 카테고리:
시스템 함수 (시스템 제어)
SYSTEM$ABORT_TRANSACTION¶
지정된 트랜잭션이 실행 중인 경우 이를 중단합니다. 트랜잭션이 이미 커밋되거나 롤백된 경우, 트랜잭션 상태는 변경되지 않습니다.
자세한 내용은 트랜잭션 섹션을 참조하십시오.
구문¶
SYSTEM$ABORT_TRANSACTION(<transaction_id>)
인자¶
transaction_id
중단할 트랜잭션의 식별자입니다. 트랜잭션 ID를 얻으려면 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 | -----------------------------------------+