Sql 循环表并设置列的值

Sql 循环表并设置列的值,sql,sql-server-2008,stored-procedures,sql-update,Sql,Sql Server 2008,Stored Procedures,Sql Update,人们 我是一个SQL Server新手,有以下问题。我需要遍历一个表并更新一列。在本列中,我想设置一个整数值。在下一行中,我想向值中添加1。因此,列行如下所示: 1 2 3 4 5 6 7 8 9 最简单的方法是什么 谢谢!:-) 你在找这样的东西吗 UPDATE YourTable SET YourColumn = YourColumn + 1 首先,您需要了解SQL和基于集合的操作。您不需要在表中循环,而是一次更新一组信息 如果您只需要序列号,可以执行以下操作: with cte

人们

我是一个SQL Server新手,有以下问题。我需要遍历一个表并更新一列。在本列中,我想设置一个整数值。在下一行中,我想向值中添加1。因此,列行如下所示:

1
2
3
4
5
6
7
8
9

最简单的方法是什么


谢谢!:-)

你在找这样的东西吗

UPDATE YourTable
    SET YourColumn = YourColumn + 1

首先,您需要了解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

但是,在编写高级查询之前,您应该真正了解基础知识。如果您必须询问如何(或如果可以)遍历一个表,您可能不应该这样做。

如果您需要实际遍历(不确定是否确实如此),这里有一个链接,介绍如何一次遍历一行。第二部分介绍如何创建WHILE循环:


它应该向大家问好……本专栏的目的是什么?是否要创建唯一的id?需要更多信息。您希望以什么顺序“遍历表”?根据定义,表是一组无序的行,因此您需要指出代码将如何确定哪一行应该是#1,哪一行应该是#2,等等。此外,您是否计划在每次添加新行时再次更新表?我要查找的内容类似于:我要查找的内容类似于:第一行,列值:第二行,列值:2第三行,列值:3您需要定义哪一行是“第一行”。。。如前所述,除非使用ORDERBY子句将表定义为“有序”表,否则表不是“有序”表。请告诉我们如何识别第一行、第二行等。我想知道是否可以使用Transact-SQL或MS SQL Server中的存储过程来完成此操作…这就是Transact-SQL,它将在MSSQL中运行抱歉,如果误解了这一点。。。你能给我指一个教程页面或类似的东西吗?