数据库存储过程多用户同时冲突问题解决构思
1 写个函数自动生成流水号
--得到最新编号的函数 create function f_newid() returns char(7) --编号位数固定,用char的检索效率高于varchar as begin declare @re char(7) select @re=max(BHID) from 表(tablockx) --加表级锁 return( case when @re is null then ‘BH00001‘ else ‘BH‘+right(‘0000‘+cast(cast(right(@re,5) as int)+1 as varchar),5) end) end go
2 将流水号插入临时表#code
3 将数据存储到流水号命名的临时表#salebase_流水号。
4 drop 所有临时表
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。