实在没招了,只能用主键设置了。
一般情况(并发性没那么大)可以: declare @m int select @m=isnull(right(max(dayid),4),1) from xxx where left(dayid,8)='今日如20140103' set @m=@m+1 insert xxx (dayid,...) values (@m,...) 如果高一点的版本 使用 update ... output ... 比较保险
存储过程非常简单,并发时肯定会有问题,我也知道。 令人困惑的是:只有一个人在做这个添加操作啊,怎么还会生成重复的序号?
最后这个回答与我当前的思路相同: 我当前的解决方案就是把这个序号字段设置为主键,然后出现序号重复后客户端会报错,让操作员A重新添加一次。 但感觉这不是最佳方案,是实在没招了,把错误放给数据库去处理了,能否有更佳方案呢?
22,209
社区成员
121,731
社区内容
加载中
试试用AI创作助手写篇文章吧