数据库TCL事务控制语言SQL语句的使用(提交回滚)

TCL事务控制语言

提交

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

提交的命令为:commit;

保存回滚

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

【语法】保存点savepoint

SAVEPOINT <savepoint_name>;

 

【示例】

--创建一个保存点,名称为a

savepoint a;

 

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

 

 

【语法】回滚

ROLLBACK [TO savepoint];

 

【示例】

--回滚到保存点a,即在保存点a之后的所有未提交的DML都无效。

rollback to a;

 

 

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

--1、创建保存点a

savepoint a;

--2、插入emp数据 it1

insert into emp(empno,ename) values(1234,'it1');

--3、创建保存点b

savepoint b;

--4、插入emp数据 it2

insert into emp(empno,ename) values(1235,'it2');

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

select ename from emp;

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

rollback to b;

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

select ename from emp;

--8、提交数据

commit;

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

select ename from emp;

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

rollback to a;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值