一个表,是这种没有规则的序列
BM MC
1001 A
1002 B
1005 C
1007 D
1008 E
10081 F
1009 AB
1015 AC
1019 AE
1020 AF
然后写一个过程把BM更新为
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
BM MC
1001 A
1002 B
1005 C
1007 D
1008 E
10081 F
1009 AB
1015 AC
1019 AE
1020 AF
然后写一个过程把BM更新为
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
set @s=1001Update tbl set bm=@s,@s=@s+1
SET
BM = 1000+(SELECT COUNT(*) FROM 表 WHERE LEN(MC)<LEN(T.MC) OR (LEN(MC)=LEN(T.MC) AND MC<=T.MC))
FROM
表 T
declare @i int
set @i=(select min(BM) from T)
update T
set BM=@i,@i=@i+1