如何使用相同的存储过程选择数据并将数据插入另一个表

时间:2017-12-13 06:23:19

标签: sql sql-server sql-server-2008 stored-procedures sql-server-2012

我想在存储过程中选择一些数据,并且我想将所有选定的数据插入到同一存储过程中的另一个表中:

SELECT * FROM @TempTable  

然后插入到另一个表中:

SELECT @v_Maxno = isnull(max([A_TEST].ROW_NUM) + 1, 1)
        FROM [A_TEST]

INSERT INTO [dbo].[A_TEST] (ROW_NUM,A, B, C)  
VALUES (@v_Maxno,TempTable.CL_A, TempTable.CL_B, TempTable.CL_C)

我必须手动计算行号,如果有任何类似循环的话,那么我将设法实现这一点。

找不到最佳方法..........使用SQL Server

1 个答案:

答案 0 :(得分:1)

而不是使用values关键字,直接使用select。

像这样

insert into Table1(RowNum,Col1,Col2)
select ROW_NUMBER() OVER(ORDER BY Cola),Cola,colb from table2