CUBRID学习笔记17 事务的回滚
语法:ROLLBACK [ WORK ]
下面的语句会报错
ALTER TABLE code DROP s_name;
INSERT INTO code (s_name, f_name) VALUES ('D','Diamond');
ERROR: s_name is not defined.
回滚 修复破损的伤口
ROLLBACK WORK;
再来
ALTER TABLE code drop s_name;
INSERT INTO code (f_name) VALUES ('Diamond');
COMMIT WORK;
部分回滚
可以设置标记,使回滚到指定的标记位置
方法1 SAVEPOINT mark;
mark:
_ a SQL identifier
_ a host variable (starting with :)
方法2
ROLLBACK [ WORK ] [ TO [ SAVEPOINT ] mark ] [ ; ]
mark:
_ a SQL identifier
_ a host variable (starting with :)
例子
首先设置两个回滚的标记 sp1 和sp2
CREATE TABLE athlete2 (name VARCHAR(40), gender CHAR(1), nation_code CHAR(3), event VARCHAR(30));
INSERT INTO athlete2(name, gender, nation_code, event)
VALUES ('Lim Kye-Sook', 'W', 'KOR', 'Hockey');
SAVEPOINT SP1;
SELECT * from athlete2;
INSERT INTO athlete2(name, gender, nation_code, event)
VALUES ('Lim Jin-Suk', 'M', 'KOR', 'Handball');
SELECT * FROM athlete2;
SAVEPOINT SP2;
RENAME TABLE athlete2 AS sportsman;
SELECT * FROM sportsman;
ROLLBACK WORK TO SP2;
上面的重命名表的操作将被回滚
SELECT * FROM athlete2;
DELETE FROM athlete2 WHERE name = 'Lim Jin-Suk';
SELECT * FROM athlete2;
ROLLBACK WORK TO SP2;
上面的删除也不会执行,会被回滚
SELECT * FROM athlete2;
ROLLBACK WORK TO SP1;
SELECT * FROM athlete2;
COMMIT WORK;
这个是回滚到sp1的例子
最新文章
- python运算符重载
- HDU 4870 Rating(概率、期望、推公式) &;&; ZOJ 3415 Zhou Yu
- 1296: [SCOI2009]粉刷匠
- 转:简单的RTSP消息交互过程
- IIS网站部署注意点
- Python IDE专用编辑器PyCharm下载及配置安装过程(Ubuntu环境)
- Js闭包函数
- Linux多线程(三)(同步互斥)
- 【转】让iframe在iOS设备手机浏览器上支持滚动
- 李洪强iOS开发之零基础学习iOS开发】【02-C语言】01-概述
- windows 2003 搭建一个vpn
- 三种php连接access数据库方法
- MyGeneration 默认设置中没有数据库驱动
- Debian 7 下载
- 【 D3.js 入门系列 --- 9.1 】 生产饼图
- Apache服务器处理404错误页面技巧
- Gaussian and Truncated Gaussian
- 为vue添加公用方法,vue添加通用方法
- Lesson 01-Linux安装及基础命令
- 【Java】HashMap源码分析——常用方法详解
热门文章
- VisualSVNServer启动失败错误处理
- maven相关
- java中length,length(),size()的区别
- 【jqGrid for ASP.NET MVC Documentation】.学习笔记.2.jqGrid Model-View-Controller 分离
- 七牛开发文档php
- 20145227 《Java程序设计》第3周学习总结
- ACM题目————Robot Motion
- htmlnav
- HDU(3555),数位DP
- phpQuery—基于jQuery的PHP实现