Oracle-事务

博客介绍了数据库事务处理,指出数据更新受事务控制,更新操作可能出错。事务操作针对会话,Oracle中每个连接用户为会话,彼此独立。事务控制主要用ROLLBACK和COMMIT命令,还提到事务控制会引发问题,如死锁、行锁等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事务处理

所有的数据更新一定都会受到事务的控制

  • 对于数据表的操作,查询要比更新操作更安全,因为更新操作有可能会出现错误,导致没有按照既定的要求正确的完成更新操作。
  • 如果同为一个事务的操作出现错误,那么其他操作应该不再继续执行,并且都回归到最原始的状态,而这一个流程的操作实际上就是事务的操作。
  • 所有的事务处理都是针对每一个会话进行的,在 oracle 中,把每一个连接到数据库的用户都称为一个会话,每一个会话之间彼此独立,互不通信,每一个会话独享自己的事务控制

而事务控制之中主要使用两个命令:

  • 事务的回滚:ROLLBACK,更新操作回到原点
  • 事务的提交:COMMIT,真正的发出更新请求,一旦提交后无法回滚

这种事务控制会出现一些问题,例如,某一个会话在更新数据表的时候还没有提交事务,其他会话是无法进行更新的,必须等待之前的会话提交后才可以。

死锁,会话 1 执行更新后,在没有提交之前,会话 2 进行更新会出现等待

会话 1 update myemp set sal=9000 where empno=7839;
会话 2 update myemp set sal=8000 where empno=7839;

这种问题从大的方面来讲可以称作死锁,但是在 oracle 之中死锁有很多种类。上面的是行锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值