~~流水号重复主要原因是:
多用户提交或同时提交,因时间差的问题,存在还未提交成功的数据,
解决此问题:
关键是 取 多事务未提交成功数据+已经提交的数据(则是脏读)
如 :
sybase :
select max(sendno) from t_sendtable where 1=1 at isolation read uncommitted
MS SQL Server :
select max(sendno) from t_sendtable with(nolock) where 1=1
.
.
.
意思就是对流水号取值的表 脏读(未提交成功数据+已经提交的数据)取出对应的数据这样 取出的数据做流水号跳号则不会重复的问题~~~~~~~~~~~

本文探讨了流水号重复的原因及解决方案,重点介绍了如何通过脏读取未提交事务数据来避免流水号重复,提供了Sybase与MSSQL Server两种环境下具体的SQL实现。
935

被折叠的 条评论
为什么被折叠?



