oracle 事务开始 结束,Oracle-事务处理开始与结束情况;事务的保存点

事务是用来分割数据库活动的逻辑工作单元。事务既有起点,也有终点:当发生下列事件时,事务就开始了:

1.连接到数据库上,并执行第一条DML语句

2.前一个事务结束后,又输入另外一条DML语句

在下列事件之一发生时,事务就结束了:

1.执行Commit或者RollBack语句

2.执行一条DDL语句,例如Create Table语句;在这种情况下,会自动执行Commit语句

3.执行一条DCL语句,例如Grant语句;在这种情况下,会自动执行Commit语句

4.断开与数据库链接。在退出SQL*Plus事,通常会输入EXit命令,此时会自动执行Commit语句。如果SQL*Plus被意外终止(例如运行SQL*Plus的计算机崩溃)那么就会执行RollBack语句。

事务完成后,如果不显式的提交或者回滚事务,都被认为是不好的编程习惯,因此确保在每个事物后面都要执行Commit或者RollBack语句。

事务中任何地方都可以设置一个保存点(savepoint),这样可以将修改回滚到保存点处。

例:product_id price

1 19.95

2 30

update products

set price = price * 1.20

where product_id = 1;

savepoint save1;

update products

set price = price *1.30

where product_id =2;

rollback to savepoint save1;

这样保留了产品1的价格:

product_id price

1 23.94

2 30

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值