2010-11-04 33 views
1

我在SQL Server 2005中有2个数据库。 我想要一个功能,我有2个数据库中的相同表结构例如我有一个名为testData在2数据库命名为dbTest1和dbTest2。如何从SQL Server 2005中的其他数据库导入数据

现在我想要一个单一的查询,通过它我可以将数据库dbTest2的表testData中的所有记录添加到数据库dbTest1的表testData中。

我尝试使用下面的查询

INSERT INTO dbTest1.testData值SELECT * FROM dbTest2.testData

但这个查询没有运行,并且给错误。

我也试过

INSERT INTO dbTest1.testData(COL1,COL2,COL3)值SELECT * FROM dbTest2.testData 但是这也给错误 “无效的对象名称dbTest2.testData”

莫非任何一个帮助

谢谢

回答

2

更换dbTest2.testDatadbTest2..testData - 你必须指定三样东西(或可选择离开中间空白DBO)。

insert into dbTest1..testData 
select * from dbTest2..testData 

如果不dbTest1已经存在的表,你可以这样做:

select * 
into dbTest1..testData 
from dbTest2..testData 
+0

谢谢CK ..它为我工作了很多。 – 2010-11-04 12:06:28

1

您需要指定查询中的所有列名称。

insert into dbTest1.dbo.testData(col1,col2,col3) select * from dbTest2.dbo.testData 
+0

其捐赠以下错误 “无效的对象名称dbTest2.testData” – 2010-11-04 11:52:39

+0

-1 - 如果两者的结构相同,则不需要指定列(尽管针对未来的变化建议进行更改)。根据我的答案,实际问题是不同的。 – cjk 2010-11-04 11:59:39

+0

@Sumit Gupta,我的错,我忘了dbo,检查更新的答案 – 2010-11-04 12:00:54

相关问题