【发布时间】:2014-04-10 20:51:21
【问题描述】:
我们有一个存储过程,可以从 oracle 数据库中的一些临时表中将数据插入到表中。插入后有一条更新语句,根据某些检查更新同一表中的标志。在存储过程提交结束时发生。 问题是更新适用于 95% 的情况,但在某些情况下无法更新。当我们尝试在不更改任何内容的情况下再次运行它时,它可以工作。即使尝试在其他时间对相同的数据执行相同的存储过程,也可以完美地工作。我在存储过程的逻辑中没有发现任何问题。我觉得存在一些我们无法找到的数据库级别问题(可能与并发性有关)。对此的任何想法都会非常有帮助。
【问题讨论】:
-
数据库中的并发是两把刃剑。正如 Chris 所指出的,在记录错误的过程中添加一个异常肯定会有所帮助。在为多用户环境进行开发时,您需要注意一些事项。 Lost Update 问题可能就是您遇到的问题。
标签: oracle