I';我们必须使用存储在另一个表中的计数器更新一个SQL表中的列,并更新该表

I';我们必须使用存储在另一个表中的计数器更新一个SQL表中的列,并更新该表,sql,counter,increment,Sql,Counter,Increment,我正在使用SQLServer2005(用于测试)和2007(用于生产) 我必须使用另一个表中的“last record ID”列,在现有列中向表中的所有记录添加唯一的记录ID。因此,我将对我的表进行某种更新,但我必须从另一个表中获取“last record ID”,增加它,更新该表,然后更新我的记录 谁能给我举个例子说明如何做到这一点?其他用户可能也在增加计数器 如果要插入一个表,然后更新下一个表,则可以使用@IDENTITY从第一个表中为您提供自动递增ID 例如 @@IDENTITY将为您提供

我正在使用SQLServer2005(用于测试)和2007(用于生产)

我必须使用另一个表中的“last record ID”列,在现有列中向表中的所有记录添加唯一的记录ID。因此,我将对我的表进行某种
更新
,但我必须从另一个表中获取“last record ID”,增加它,更新该表,然后更新我的记录


谁能给我举个例子说明如何做到这一点?其他用户可能也在增加计数器

如果要插入一个表,然后更新下一个表,则可以使用@IDENTITY从第一个表中为您提供自动递增ID

例如


@@IDENTITY将为您提供最后一个插入行的ID。

如果您要插入一个表,然后更新下一个表,则可以使用@IDENTITY从第一个表中提供自动递增ID

例如


@@IDENTITY将为您提供最后插入行的ID。

谢谢您,JD。但是不,我没有插入它。我需要从表1的第1行获取“下一个用户ID”,用“下一个用户ID+1”递增并更新表1的第1行中的该列,并将其插入表2的第1行,然后对表2的下一行重复此操作,直到不再有行为止。但我总是只更新表1的第1行。你能提供更多的信息吗。。。e、 那么我们可以再帮点忙了…好的。。因此,我对你的问题的看法(如果是错的,请告诉我):1。表1有一个“userID”列。2.您希望使“userID”=userID+1。3.然后,您需要将这个新的“userID”插入表2中。您需要使用SQL吗?在foreach循环中使用第二语言(如C#或PHP或您最喜欢的语言)可能更容易实现。如果需要使用SQL,请使用“while begin end”循环。。。在Google上有很多关于SQL和其他语言中的“foreach”(以及SQL中的“while begin end”)循环的好教程:)希望这有点帮助。。。如果没有,就喊一声谢谢你,JD。但是不,我没有插入它。我需要从表1的第1行获取“下一个用户ID”,用“下一个用户ID+1”递增并更新表1的第1行中的该列,并将其插入表2的第1行,然后对表2的下一行重复此操作,直到不再有行为止。但我总是只更新表1的第1行。你能提供更多的信息吗。。。e、 那么我们可以再帮点忙了…好的。。因此,我对你的问题的看法(如果是错的,请告诉我):1。表1有一个“userID”列。2.您希望使“userID”=userID+1。3.然后,您需要将这个新的“userID”插入表2中。您需要使用SQL吗?在foreach循环中使用第二语言(如C#或PHP或您最喜欢的语言)可能更容易实现。如果需要使用SQL,请使用“while begin end”循环。。。在Google上有很多关于SQL和其他语言中的“foreach”(以及SQL中的“while begin end”)循环的好教程:)希望这有点帮助。。。不喊就喊
INSERT INTO table1 (description) VALUES ('blah');
UPDATE table2 SET (tabel1ID = @@IDENTITY) WHERE condition