将数据从架构中的表复制到另一个架构中的另一个表

时间:2016-02-15 16:28:05

标签: sql sql-server stored-procedures

我必须将数据从模式中的表复制到另一个模式中的另一个表。这两个表具有相同的列。我试过了

SET @Script = 'SELECT * FROM application_params.' + @tableName + ' INSERT INTO temp_application_params.' +@tableName
Exec  sp_executesql @Script 

其中@tablename是包含表名的变量。表的名称是相同的。但是这些指令不复制数据,第二个表仍为空。有什么问题?

2 个答案:

答案 0 :(得分:2)

如果目标表存在:

INSERT INTO targetTable
SELECT * FROM [sourceserver].[sourcedatabase].[dbo].[sourceTable]

如果目标表不存在:

select * into targetTable from [sourceserver].[sourcedatabase].[dbo].[sourceTable]

答案 1 :(得分:0)

如果第二个表存在

Set @script = 'insert into schema2.' + @tablename + ' select * from schema1.' + @tablename

如果第二张表不存在

Set @script = 'select * into schema2.' + @tablename + ' from schema1.' + @tablename

然后

Exec sp_executesql @script