--测试资料
CREATE TABLE tb(
ID1 char(2) NOT NULL,
ID2 char(4) NOT NULL,
col int,
PRIMARY KEY(ID1,ID2))
INSERT tb SELECT 'aa','0001',1
UNION ALL SELECT 'aa','0003',2
UNION ALL SELECT 'aa','0004',3
UNION ALL SELECT 'bb','0005',4
UNION ALL SELECT 'bb','0006',5
UNION ALL SELECT 'cc','0007',6
UNION ALL SELECT 'cc','0009',7
GO

--重排编号处理
DECLARE @ID1 char(2),@ID2 int
UPDATE tb SET
    @ID2=CASE WHEN @ID1=ID1 THEN @ID2+1 ELSE 10001 END,
    @ID1=ID1,ID2=RIGHT(@ID2,4)
SELECT * FROM tb
/*--结果
ID1  ID2  col
---- ---- -----------
aa   0001 1
aa   0002 2
aa   0003 3
bb   0001 4
bb   0002 5
cc   0001 6
cc   0002 7
--*/

相关文章:

  • 2021-12-07
  • 2022-01-23
  • 2021-07-26
  • 2023-03-22
  • 2021-12-14
  • 2022-01-10
  • 2021-07-30
  • 2023-02-27
猜你喜欢
  • 2022-03-04
  • 2021-09-14
  • 2022-03-09
  • 2021-07-12
  • 2021-07-30
  • 2021-11-16
  • 2021-12-30
相关资源
相似解决方案