如何遍历 SQL Server 表中的所有行并编辑列?你知道的:
- 有很多ID被跳过。
- 该列
creatie
必须每一分钟编辑一次。所以第一个必须是 15:00:00,第二个必须是 15:01:00,第三个必须是 15:02:00 等等。 - 总共有 54 条记录。
- 我使用 SQL Server 2014 Express 版本
我使用了下面的查询,但最大 ID 是 24697...所以循环很长。
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;
因为我每次都这样做@var += '0-0-0 0:1:0'
,所以我不知道 24697 次之后的结果是什么(如果可以的话)。
这是前 25 行。
PS1:2131年是我自己的错误。不要看它并使用2015年。
PS2:我使用 24 小时制的时钟。
不,不要循环。每当你在 SQL 中思考“我需要遍历这个集合并对每一行做一些事情”时,将你的想法改变为“我需要对这个集合中的每一行做一些事情”。
当您对这符合您的预期感到满意时,请评论
SELECT
并取消评论UPDATE
.