在SQL中逐个更新行,最大值为+ 1

时间:2015-06-24 15:13:24

标签: sql while-loop cursor

这是我的情况, 我有2张桌子, 第一个表包含所有记录,并且具有ID 第二张表有新记录,但它没有ID。 我想从第一个表生成第二个表的ID,其中max(id)+ 1。 当我这样做,它使所有行相同的ID号,但我想使它成为唯一的增量号。 例如 从table1中选择max(id)然后它给出'997040' 我想制作第二个表行,如;

ID 997041 997042 997043 997044

我认为我需要使用游标或while循环,或两者兼而有之,但我无法创建实际的查询。 对于糟糕的解释感到抱歉,我现在很困惑

2 个答案:

答案 0 :(得分:1)

使用ROWNUM生成递增的行号。 E.g:

SELECT someConstant + ROWNUM FROM source.

答案 1 :(得分:0)

CREATE TABLE table_name
(
ID int IDENTITY(997041,1) PRIMARY KEY
)

我希望这个SQL查询能够正常工作!! 或者参考http://www.w3schools.com/sql/sql_autoincrement.asp