外联库 SQL SERVER 自动编号语句
好久没写帖子,纯手痒分享一小段。如果能帮到你一点点就很开心。DECLARE @NewFno nvarchar(100),
@Str nvarchar(50),
@maxNum int,
@Fnum varchar(4)
Set @Str='CKD-'+substring(convert(varchar(10),GETDATE(),112),3,6)
Set @maxNum=(select isnull(MAX(REPLACE(编码字段,@str,'')),0)
from 表名
where substring(编码字段,1,LEN(@str))=@str
andISNUMERIC(REPLACE(编码字段,@str,''))=1 )
set @Fnum=RIGHT('000'+CAST(@maxNum+1 AS varchar(4)),4)
Set @Str=@Str+@Fnum
SELECT @Str AS 出库单号
新增保存时再检测一下是否占用,占用就提醒并给新号 :)学习了,很有用 用得上,不错 这个做法最大的风险是你获取编码和插入数据库的操作不在一个事务,多人并发时,很可能出现“占号”的风险。 willning 发表于 2022-10-24 14:05
这个做法最大的风险是你获取编码和插入数据库的操作不在一个事务,多人并发时,很可能出现“占号”的风险。
是的,一般不做单独编号使用 赞! :hjyzw:
学习了,谢谢分享 谢谢分享
页:
[1]