如题。不知道是不是发在这个板块,如有不对,请版主处理。新人开发者一位,为系统设计表。系统用户在万以内,是内部管理软件,我以前的做法一直是为每张表设置一个数据库版本字段(Version),每次更新操作都要比较这个Version,如果版本号不匹配则说明数据已被他人修改,提示用户重新加载数据。但是最近公司一位前辈跟我说,这种做法已经过时了,应该使用sql来控制,类似: UPDATE TABLE_A SET COLUMN_A = newValue WHERE COLUMN_A = oldValue。这样不仅可以判断并发,并且可以灵活使用,意思是:如果我想更新字段B,就算字段A被别人更新了,我也能更新B,而不会被“锁住”。但是,我认为,应该需要保持一条数据的完整性,就算你想要修改的是没有被别人修改过的B,在这种情况下也应该被拒绝才对,因为我们不能肯定字段A的更新会不会影响用户对B字段更新的判断。我想知道,目前这种程序更新的小并发控制是如何体现到表设计上的。不知道自己表述的够不够清楚,请各位前辈指教。
解决方案 »
- 服务端分页技术探讨
- oralce10g Oracle enterprise manager登陆后存在的问题
- 从一个表向另一个表插入数据的语句
- Oracle数据库的几个问题,求大大们解决~~小弟不胜赶紧
- Oracle Instant Client在TOAD中得使用
- Oracle数据库字符集采用US7ASCII编码时出现中文字符乱码如何解决?
- 如果能正常自动启动数据库
- 高分相送!!!
- Oracle8.1.7在linux Redhat7.2上的安装问题(在线等待)
- oracle通过logminer分析日志遇到个问题
- occi连接oracle11 rac集群 双节点的 监听地址 连接不上 报12514错误 单节点的非集群正常
- oracle数据文件迁移
会话 A 锁住了 R1 记录,刚锁完还没有做别的操作,A 会话突然间就被断开了,那么 R1 上的锁,要手人工干预一下。