DROP TABLE #ID
CREATE TABLE #ID (ID INT)
INSERT INTO #ID (ID)
VALUES (24),(65),(77),(44)
DECLARE @ID int
SELECT @ID = MAX(ID) from #ID
DROP TABLE #name
CREATE TABLE #NAME (Name char (20))
INSERT INTO #NAME (name)
VALUES ('Ben'),('Alex'),('Mark')
DROP TABLE #abc
CREATE TABLE #ABC (ID INT, Name char(20))
INSERT INTO #ABC (ID,Name)
SELECT @ID,name
FROM #name
SELECT * FROM #ABC
我希望进程从#ID中获取最大ID,然后为下一条记录添加1。所以,预期的结果应该是:
ID Name
77 Ben
78 Alex
79 Mark
请不要使用游标来帮助我绕过这个逻辑。我可以用任何方式使用IDENTITY(@ ID,1)吗?感谢
答案 0 :(得分:3)
<强>替换强>
Select * from #ABC
:用于:强>
Select ROW_NUMBER() OVER (ORDER BY ID) + ID - 1, Name from #ABC