更新时间:2024-05-07 GMT+08:00
COMMIT PREPARED
功能描述
提交一个早先为两阶段提交准备好的事务。该功能为内部使用功能,不建议用户使用。
注意事项
- 该功能仅在维护模式(GUC参数xc_maintenance_mode为on时)下可用。该模式谨慎打开,一般供维护人员排查问题使用,一般用户不应使用该模式。
- 命令执行者必须是该事务的创建者或系统管理员,且创建和提交操作可以不在同一个会话中。
- 事务功能由数据库自动维护,不应显式使用事务功能。
语法格式
1
|
COMMIT PREPARED transaction_id [ WITH commit_sequence_number ]; |
参数说明
- transaction_id
待提交事务的标识符。它不能和任何当前预备事务已经使用了的标识符同名。
- commit_sequence_number
待提交事务的序列号。它是一个64位递增无符号数。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
--开始。 gaussdb=# BEGIN; --准备标识符为的trans_test的事务。 gaussdb=# PREPARE TRANSACTION 'trans_test'; --创建表。 gaussdb=# CREATE TABLE item1(id int); --提交标识符为的trans_test的事务。 gaussdb=# COMMIT PREPARED 'trans_test'; --删除表。 gaussdb=# DROP TABLE item1; |
父主题: SQL语法