代码改变世界

Oracle 关于事物的描述

  Evan.Pei  阅读(202)  评论(0编辑  收藏  举报

事物在Oracle中的4种状态:

commit--提交

rollback--全部回滚

savepoint name;--定义一个回滚到这里的点:例如:savepoint a;

rollback to [savepoint]name--回滚到指定的点 例如 rollback to a;就回滚到a这个地方

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--------------------------------------------例子1:
  
--第一步:复制一个emp的新表【cemp】包括数据 ;//一共14行
create table cemp as select * from emp;
--第二步:删除
delete from cemp where sal>2500;//删除一些行
--第三步:
rollback;//这里全部回滚,查询后还是14行
  
---------------------------------------------例子2:
--第一步:删除部门编号是10的员工
delete from cemp where deptno=10;
  
--第二步:再删除部门编号是20的员工
delete from cemp where deptno=20;
  
--第三步:设置一个回滚点a
SAVEPOINT a;
  
--第4步:再删除部门编号是30的员工,现在员工表空了
delete from cemp where deptno=30;
--commit;--如果这里提交后面的回滚将没有意义
--第5步:回滚到【a】这个回滚点
ROLLBACK to a;<br>
--如果出错,全部回滚;
EXCEPTION
  rollback;
END;
select *from cemp;--将会看到deptno=30的员工还存在,这就是回滚到某个点

  

  

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示