你好,欢迎来到电脑编程技巧与维护杂志社! [免费注册][请登录 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / 数据库开发
Oracle基础学习之事务控制语言TCL
 

1:提交:事务的提交比较简单;直接在执行DML语句后进行提交即可,如果不提交事务则刚刚通过DML语句进行修改的内容还未保存到数据库中,只在当前用户的连接会话中有效。要永久变更数据需要显示地执行提交、回滚或者退出当前回话(如退出sqlplus)。提交的命令为:commit;

2:保存点与回滚: 保存点savepoint一般与回滚rollback配合使用。在设置了savepoint后事务的粒度可以控制的更加细化,可以回滚到特定的保存点。

语法:保存点 savepoint SAVEPOINT

示例:创建一个保存点,名称为a savepoint a;

【注意】当创建保存点之后执行的DML操作,可以进行回滚,而保存点之前未提交的DML操作不受影响。

语法:回滚 ROLLBACK[TO savepoint]

示例:回滚到保存点a,即在保存a之后的所有未提交的DML都无效。 rollback to a;

/*保存点与回滚完整示例*/

--1、创建保存点a

Savepointa;

--2、插入emp数据it1

Insertintoemp(empno,ename)values(1234,'it1');

--3、创建保存点b

savepointb;

--4、插入emp数据it2

insertintoemp(empno,ename)values(1235,'it2');

--5、查看emp表数据,存在it1、it2两条数据

selectename fromemp;

--6、回滚到保存点b,即it2数据将消失

rollbacktob;

--7、查看emp表数据,存在it1的数据,it2已不在

selectename fromemp;

--8、提交数据

commit;

--9、查看emp表数据,存在it1的数据

selectename fromemp;

--10、回滚到保存点a,将报错保存点不存在的错误信息

rollbacktoa;

  推荐精品文章

·探析云计算下应用软件用户数据安全问题
·地理空间集束线可视化表达
·Android智能净水机APP开发(一)
·2018年12月目录  
·springAOP的思想和设计以及实现
·LeetCode332. 重新安排行程
·基于fastjson的微信模板消息的封装与实现…
·WEB日志清洗 - java代码
·关于C++内存生长
·C++继承——宠物的生长
·python——实现名片管理器
·Clion c++调用c动态链接库
·【C# 重构】-散落的知识
·Java SE—面向对象 this关键字的作用

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备06048724号,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区长春桥路5号6号楼1209室,邮编:100089