-2

我目前有两个不同的数据库,我想将表 A 中的所有列复制或合并到表 B 中。我正在使用以下命令

USE B;
INSERT INTO B SELECT * FROM A.col1;
INSERT INTO B SELECT * FROM A.col2;
etc

我想要实现的是

例如,数据库 A 包含表 (A_1, A_2);数据库 B 包含表(B_1,B_2);新创建的 B 应该是 (A_1, A_2, B_1, B_2)

谢谢天哪,它根本不起作用;

4

3 回答 3

1

我没有得到你。

是否要合并表的列

或合并数据库的表?

将 2 个表的列合并为 1 个表

select t1.col1,t1.col2,t2.col1,t2.col2
into newtable 
from table1,table2

但是要合并数据库中的所有表,这要简单得多。只需创建数据库并从两个数据库中导入表。

于 2012-05-15T08:11:12.803 回答
0

在 sql-server 中创建一个到 mysql 的链接服务器,并使用 openquery 从 mysql 数据库中访问表。

如何在SqlServer中创建MySql的链接服务器

EXEC master.dbo.sp_addlinkedserver @server = N'LinkServerName', 
@srvproduct=N'anything',
 @provider=N'MSDASQL',
  @datasrc=N'DBNAME', 
  @provstr=N'gr_uid=userid; gr_pwd=password',
   @catalog=N'dbase'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'LinkServerName',
@useself=N'false',
@locallogin=null,
@rmtuser=userid,
@rmtpassword=password

如何通过 LinkServer 从 mySql 访问表数据。

Select *  FROM OPENQUERY([LinkServerName],'SELECT * FROM MySqlTableName')
于 2012-05-15T08:08:45.197 回答
0
USE B;
INSERT INTO B SELECT * FROM A.col1;
INSERT INTO B SELECT * FROM A.col2;
etc

该代码不正确。

这是 sql server 的简单示例:

USE [DATABASE];
INSERT INTO [DESTINATION TABLE] SELECT * FROM [DATABASE].[SCHEMA].[SOURCE TABLE]

或者

SELECT * INTO [NEW TABLE] FROM [DATABASE].[SCHEMA].[SOURCE TABLE]

我建议在表中显式写入列。

于 2012-05-15T08:23:31.990 回答