暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T COMMIT

墨天轮 2019-10-12
708

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论