我必须将数据从模式中的表复制到另一个模式中的另一个表。这两个表具有相同的列。我试过了
SET @Script = 'SELECT * FROM application_params.' + @tableName + ' INSERT INTO temp_application_params.' +@tableName
Exec sp_executesql @Script
其中@tablename是包含表名的变量。表的名称是相同的。但是这些指令不复制数据,第二个表仍为空。有什么问题?
答案 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