Como você pode percorrer todas as linhas em uma tabela do SQL Server e editar uma coluna? Você sabe disso:
- Há muitos IDs ignorados.
- A coluna
creatie
deve ser editada com um minuto a cada vez. Então a primeira deve ser 15:00:00, a segunda 15:01:00, a terceira 15:02:00 etc. - No total são 54 registros.
- Eu uso a versão SQL Server 2014 Express
Eu usei a consulta abaixo, mas o ID máximo é 24697... Portanto, o loop é muito longo.
declare @var datetime = '2015-10-19 0:0:0';
declare @counter int = 1;
declare @max int = (select max(id) from topic);
while (@counter <= @max) begin
update Topic set Creatie = Creatie + @var where id = @counter;
set @counter += 1;
set @var += '0-0-0 0:1:0'
end;
Como faço sempre @var += '0-0-0 0:1:0'
, não sei qual será o resultado depois de 24697 vezes (se funcionar).
Aqui estão as 25 primeiras linhas.
PS1: o ano de 2131 é um erro meu. não olhe para ele e use o ano de 2015.
PS2: Trabalho com relógio 24h.
Não, não faça loop. Sempre que você pensar em SQL "Preciso fazer um loop neste conjunto e fazer algo em cada linha", mude seu pensamento para "Preciso fazer algo em cada linha deste conjunto".
Quando estiver satisfeito com o resultado esperado, comente
SELECT
e descomente oUPDATE
.