-2

現在、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)である必要があります

Goshに感謝しますが、まったく機能しません。

4

3 に答える 3

1

聞き取れませんでした。

テーブルの列をマージしますか

またはデータベースのテーブルをマージしますか?

2 つのテーブルの列を 1 つのテーブルにマージするには

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

しかし、データベース内のすべてのテーブルをマージする方がはるかに簡単です。データベースを作成し、両方の DB からテーブルをインポートするだけです。

于 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 サーバーの簡単な例です。

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 に答える