如何使用存储过程将表的所有记录插入另一个表中

Ian*_*ian 1 sql t-sql sql-server-2005

我有一张约13066条记录的表格,其中我想要添加另一张表格中的所有其他记录(约有1346条记录).有一个存储过程执行插入,我想用它来插入所有记录.有人可以帮忙吗?

gbn*_*gbn 6

这很简单,除非您没有提供所有信息,例如"有重复"或"只有在没有"

CREATE PROC DoSomething
AS
SET NOCOUNT ON
INSERT table1 (col1, col2, etc)
SELECT col1, col2, etc FROM table2
GO
Run Code Online (Sandbox Code Playgroud)

编辑:

有些东西不见了.

OP希望通过table2的循环能够调用现有的存储过程

要正确地使用你

INSERT table1 (col1, col2, etc)
SELECT col1, col2, etc FROM table2 t2
WHERE NOT EXISTS (SELECT * FROM table1 t1
                    WHERE t1.key = t2.key and <some conditions>) 
Run Code Online (Sandbox Code Playgroud)