我有一个包含一些表的数据库,还有数据.我需要为所有表实现乐观并发.
我想知道什么是最好的方式.
将在应用程序端创建带谓词的查询.
我关心的是如何存储rowversion(timestamp)值.
首先我考虑使用ora_rowscn进行rowversion值,但后来我意识到我必须重新创建所有表来设置ora_rowscn.
也许只是添加某种时间戳列会很好,但是我会被迫为应用程序中的每次更新创建并保存一个新的时间戳值.
有任何想法吗 ?
解决方法
Oracle有一个用于乐观锁定的内置包,名为
OWA_OPT_LOCK.这可用于为任何行生成校验和,如下所示:
select owa_opt_lock.checksum('SCOTT','EMP',ROWID) from emp where empno = 123;