我是一个完整的SQL Server新手并且有以下问题。我需要迭代一个表并更新一列。在此列中,我想设置一个Integer值。在下一行中,我想为值添加1。这样列列看起来像这样:
1
2
3
4
5
6
7
8
9个
最简单的方法是什么?
谢谢! :-)
答案 0 :(得分:2)
你在找这样的东西吗?
UPDATE YourTable
SET YourColumn = YourColumn + 1
答案 1 :(得分:0)
首先,您需要了解SQL和基于集合的操作。您不会遍历表,而是一次更新信息集。
如果您只需要一个序号,您可以这样做:
with cte as (select primarykey, row_number() over (order by primarykey) rn from yourtable)
update yourtable
set yourcol = rn
from yourtable
join cte on yourtable.pk = cte.primarykey
但在尝试编写高级查询之前,您应该真正了解基础知识。如果你不得不问如何(或者你可以)迭代一个表,你可能不应该这样做。
答案 2 :(得分:0)
如果你需要实际循环(不确定你真的这样做),这里有一个关于如何一次1行的链接。第二部分将指导您创建WHILE循环: