1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| create table MaTable (id integer, id_cmd char(4), num integer);
insert into Matable (id, id_cmd) values
(1, 'cmd1'), (2, 'cmd2'), (3, 'cmd1'),
(4, 'cmd1'), (5, 'cmd2'), (6, 'cmd3'),
(7, 'cmd5');
declare @num as integer = 12;
update tgt
set tgt.num = src.num
from MaTable as tgt
join ( select id_cmd
, row_number() over(order by id_cmd asc) - 1 + @num as num
from MaTable
group by id_cmd) as src
on tgt.id_cmd = src.id_cmd;
select * from MaTable order by 1;
id id_cmd num
-- ------ ---
1 cmd1 12
2 cmd2 13
3 cmd1 12
4 cmd1 12
5 cmd2 13
6 cmd3 14
7 cmd5 15 |
Partager