ROLLBACK
功能描述
该语句回滚(废除)当前事务工作单元中的所有操作,并结束该事务。
注意事项
- 建议用户退出时,用COMMIT或ROLLBACK命令来显式地结束应用程序。如果没有显式地提交事务,而应用程序又非正常终止,则最后一个未提交的工作单元被回滚。
- CREATE TABLESPACE和ALTER DATABASE两种DDL语句是不能回滚的。
语法格式
ROLLBACK [ TO SAVEPOINT savepoint_name | PREPARED XID | TRANSACTION]
参数说明
- TO SAVEPOINT
回滚到保存点。
- savepoint_name
回滚点名。
- PREPARED
回滚两阶段事务。
- XID
事务标示符。
XID格式:点分字符串 ,其中包括以下3部分
- FORMAT ID:整型值, 有效范围:[0, 9223372036854775807]。
- GLOBAL TRANSACTION ID:BASE16格式, 长度小于等于128B。
- RANCH ID: BASE16格式, 长度小于等于128B。
- TRANSACTION
回滚事务。
示例
创建表posts,插入数据,回滚所有操作并结束事务。
--删除表posts。 DROP TABLE IF EXISTS posts;
--创建表posts。 CREATE TABLE posts(post_id CHAR(2) NOT NULL, post_name CHAR(16) NOT NULL, basic_wage INT, basic_bonus INT);
--向表posts中插入记录1。 INSERT INTO posts(post_id,post_name,basic_wage,basic_bonus) VALUES('A','general manager',50000,5000); --向表posts中插入记录2。 INSERT INTO posts(post_id,post_name,basic_wage,basic_bonus) VALUES('B','project manager',10000,5000); --向表posts中插入记录3。 INSERT INTO posts(post_id,post_name,basic_wage,basic_bonus) VALUES('C','staff',3000,1000); --回滚事务。 ROLLBACK;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论