PL / SQL 101:定义和管理事务

如果您有一个只读数据库,则不必担心事务。但是对于你将要构建的几乎所有应用程序,情况并非如此。因此,交易的概念和管理对于您的应用程序的成功至关重要。

事务是Oracle数据库作为一个单元处理的一个或多个SQL语句的序列:要么执行所有语句,要么都不执行。事务隐含地从获取TX锁的任何操作开始:

  • 发出修改数据的语句(例如,插入,更新,删除,合并)
  • 发出SELECT ... FOR UPDATE语句时
  • 使用SET TRANSACTION语句或DBMS_TRANSACTION包显式启动事务时

发出COMMIT或ROLLBACK语句会明确结束当前事务。

本文将介绍如何使用以下语句和功能定义,管理和控制应用程序中的事务:

  • 提交和回滚
  • 保存点
  • 自治交易
  • SET TRANSACTION语句

您可以在下面的事务处理和控制(doc)以及Oracle Live SQL和Oracle Dev Gym资源的链接中找到更多详细信息。

提交和回滚

回想一下事务的定义:“事务是Oracle数据库作为一个单元处理的一个或多个SQL语句的序列:要么执行所有语句,要么都不执行。” 当所有语句都“执行”时,这意味着您已将它们提交或保存到数据库中。

使用COMMIT语句保存所有更改,使其对其他用户可见。请记住:在提交之前,没有人能够看到特定会话中所做的更改。提交后,每个有权访问受影响表的用户现在都可以看到表的新“状态”。

使用ROLLBACK语句撤消自上次提交以来(或自您在会话中启动第一个事务以来)的所有更改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值