COMMIT
功能描述
该语句使当前事务工作单元中的所有操作“永久化”,并结束该事务。
注意事项
GaussDB 100中的数据操作(INSERT、DELETE、UPDATE)提交是默认关闭的,会话退出时,需要显式COMMIT,否则记录将丢失。
语法格式、
COMMIT [ TRANSACTION | PREPARED XID | FORCE LTID ]
参数说明
- TRANSACTION
可选关键字,用于增加语句可读性,等同于单独执行COMMIT操作。
- PREPARED XID
提交处于已完成第一阶段提交的全局事务分支。
- XID
事务标示符。
XID格式:点分字符串 ,其包括以下3部分
- FORMAT ID:整形值, 有效范围:[0, 9223372036854775807]。
- GLOBAL TRANSACTION ID:BASE16格式, 长度小于等于128B。
- RANCH ID: BASE16格式, 长度小于等于128B。
- FORCE LTID
用于在故障修复时,提交因页面损坏而产生的无法回滚的本地事务。
- LTID
点分字符串,其中格式为SEG_ID.SLOT.XNUM,字段值可通过查询视图DV_TRANSACTIONS中SEG_ID、SLOT、XNUM字段获取。
示例
创建表training,插入数据并更新数据,提交操作后结束该事务。--删除表training。 DROP TABLE IF EXISTS training;
--创建表training。 CREATE TABLE training(staff_id INT NOT NULL, staff_name VARCHAR(16), course_name CHAR(20), course_start_date DATETIME, course_end_date DATETIME, exam_date DATETIME, score INT);
--向表training中插入记录1。 INSERT INTO training(staff_id,staff_name,course_name,course_start_date,course_end_date,exam_date,score) VALUES(10,'LIPENG','JAVA','2017-06-15 12:00:00','2017-06-20 12:00:00','2017-06-25 12:00:00',90); --向表training中插入记录2。 INSERT INTO training(staff_id,staff_name,course_name,course_start_date,course_end_date,exam_date,score) VALUES(11,'CAOM','JAVA','2017-06-20 12:00:00','2017-06-25 12:00:00','2017-06-26 12:00:00',95); --更新记录2中的staff_name字段和course_name字段。 UPDATE training SET staff_name='WANGPAN', course_name='INFORMATION SAFETY' WHERE staff_id=11; --提交事务。 COMMIT;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论