问题描述
- 查询更新Oracle C# 问题求大神支援
-
目前我DB里面有张表,每次做动作之前我都要先去查询表中的某个栏位,然后更新它,
那么问题来来,我同时做动作的的,有多个SQL去查询他然后更改它,那么就会出现这样的
情况,我第一查询的值是正确的,在我第一更改这个值之前,我的第二次查询过来了,那我
地次查询到的值不是第一次更新后的值,那我的第二次更新就毫无意义了,问下大神这个问题
该如何解决
解决方案
这个用事务应该可以解决的,关于如何用事务你可以百度一下
如果回答对您有帮助,请采纳
解决方案二:
表锁、行锁、排他锁。
解决方案三:
oracle会自动行锁的
解决方案四:
二种更新,先到先得,指得是,我以查询值进行更新,那么只有第一条更新,第二种更新是后改后得,以关键字,比如Rowid进行更新,值累加累减法,在值的变化量上更新
1,能保证最先更新的更新
2,能保证最后更新的更新
3,能保证值的累计变化
解决方案五:
加一个事务锁,或者简单的锁某条记录 select t.字段 from table t for update
时间: 2025-01-20 14:22:01