2012-05-15 7 views
-2

에 테이블을 병합, 그리고 난두 개의 데이터베이스 I는 현재 두 개의 서로 다른 데이터베이스에있는

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

것은 내가 좋아하는 것 내가 다음 명령을 사용하고 테이블 B.에 테이블 A에서 모든 열을 복사하거나 병합하고 싶습니다 달성하려면

예를 들어, 데이터베이스 A에는 테이블 (A_1, A_2)이 있습니다. 데이터베이스 B는 테이블 (B_1, B_2)을 포함합니다. 새로 생성 된 B는 (A_1, A_2, B_1, B_2)이어야합니다.

감사합니다. Gosh는 전혀 작동하지 않습니다.

+0

이 MySQL 또는 SQL Server입니까? – Pondlife

답변

0

mysql에 sql-server에 링크 서버를 만들고 openquery를 사용하여 mysql 데이터베이스에서 테이블에 액세스하십시오.

어떻게 LinkServer을 통해 MYSQL에서 테이블의 데이터에 액세스하는 방법 SQLSERVER

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 

에서의 MySQL 링크 서버를 만들 수 있습니다.

Select * FROM OPENQUERY([LinkServerName],'SELECT * FROM MySqlTableName') 
+0

그래서 내 문제는 명령 줄을 사용하여 해결할 수 없습니까? – solomon

+0

명령 줄에서 무엇을 의미합니까? 당신은 mysql 테이블에 액세스하려고하고 SQL 서버를 업데이트하려고합니다. 맞습니까? –

1

나는 당신을 얻지 못했습니다.

는 테이블

의 열을 병합하거나 데이터베이스의 테이블을 병합 하시겠습니까?

1 개 테이블 데이터베이스의 모든 테이블을 병합 할 수 있지만

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

에 두 테이블의 열을 병합하려면, 그 훨씬 간단하다. 데이터베이스를 만들고 두 DB에서 테이블을 가져 오기 만하면됩니다.

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] 

나는 테이블에 명시 적 쓰기 컬럼에 좋습니다.

관련 문제