什么情况要让操作是同一事务

来源:2-2 [Oracle] 带参数的存储过程

慕侠5515524

2017-12-30 15:42

不在存储过程中写commit / rollback 可以确保调用存储过程来更新多个员工的工资的时候是同一个事务?为什么要让他是同一个事务?不是有什么影响吗?

写回答 关注

1回答

  • 鎏鼻涕
    2018-01-01 14:27:04

    关于事务属性的东西在网上可以随便搜到,这里粘贴一下,具体自己搜搜.(事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。)

    举个简单例子什么情况需要同一事务,如有不正确的地方还请各位指正.比如你有两张表,分别存储员工的总体信息(总体信息中包含总工资)和工资的分项信息,现在有一个操作要更改员工分项工资,那么这里会涉及到两张表的更改,这事两张表的更改就应该放在一个事务中,以达到要么都更改成功,要么都更改不成功的状态.如果不放在一个事务里的话,你更改分项工资成功了,然后程序发生错误了,导致总工资没有更改,那么就会发生分项工资之和与总工资不相等的情况了,这显然是不希望看到的.

    希望对你有帮助


Oracle存储过程和自定义函数

Java开发重要课程,Oracle数据库开发工程师的加薪利器

56308 学习 · 118 问题

查看课程

相似问题