2016-10-31 3 views
1

두 테이블의 데이터를 다른 테이블의 한 테이블로 가져 오려고합니다. 동일한 테이블을 가진 동일한 열을 데이터베이스로 생성했습니다. 유형하지만 난 오류두 테이블의 데이터를 다른 데이터베이스의 한 테이블로 가져 오는 방법

내가

enter image description here

을 enthar_backup하는 심사관 및 결과 데이터를 복사 할

있어이 내 코드입니다

Select  T_Examiners.Ex_Barcode, 
      T_Examiners.sold_id, 
      T_Examiners.Ex_name, 
      T_Results.Rs_Barcode, 
      T_Results.Rs_Value, 
      T_Results.Rs_Note, 
      T_Results.Rs_ClassNo 
Into  ENTHAR_DB In 'ent7ar_backup.mdb' 
From  T_Results 
Inner Join T_Examiners On T_Examiners.Ex_Barcode = T_Results.Rs_Barcode 

내가해야 할 일에서 오류가 발생했습니다.

+1

삽입 문장의 대상을 파일로 설정할 수는 없습니다. 그것은 전혀 이해가되지 않습니다. 이 유형의 작업에는 연결된 서버를 사용해야합니다. https://msdn.microsoft.com/en-us/library/ms188279.aspx 또는 두 데이터베이스가 동일한 서버에 있습니까? 이 경우 3 부분으로 이름을 지정하여 다른 데이터베이스에 액세스하면됩니다. –

+0

이 구문은 혼란 스럽습니다 ... 정확하지는 않습니다. INTO와 IN을 사용할 수 없다. – Siyual

+0

네, 같은 서버로 할 수 있습니까? – Amr

답변

0

이 두 데이터베이스가 같은 서버에있는 것처럼이 같은 데이터를 삽입 할 [Database].[schema].[tablename]을 사용할 수 있습니다 보인다 이후 :

INSERT INTO ENTHAR_DB.dbo.ent7ar_backup 
(
    Ex_Barcode, 
    sold_id, 
    Ex_name, 
    Rs_Barcode, 
    Rs_Value, 
    Rs_Note, 
    Rs_ClassNo 
) 
SELECT  T_Examiners.Ex_Barcode, 
      T_Examiners.sold_id, 
      T_Examiners.Ex_name, 
      T_Results.Rs_Barcode, 
      T_Results.Rs_Value, 
      T_Results.Rs_Note, 
      T_Results.Rs_ClassNo 
FROM  T_Results 
JOIN T_Examiners ON T_Examiners.Ex_Barcode = T_Results.Rs_Barcode 
+0

문자열 또는 이진 데이터가 잘립니다. 명세서가 종료되었습니다. 이 오류 – Amr

+0

@Amr이 발생합니다. 대상보다 긴 소스 열 중 하나에 데이터가 있기 때문입니다. 이것은이 코드의 결함이 아니며 테이블 구조로 인해 문제가됩니다. –

+0

'T_Results' 테이블의'Rs_Value' 컬럼은'decimal (10,1)'이어야하고'ent7ar_backup' 테이블에는'decimal (10, 0)'이되어야합니다. –

0

귀하의 오류에서 SQL select 문에 있습니다

Into ENTHAR_DB In 'ent7ar_backup.mdb' 

선택할 파일 이름의 이름을 지정하지 마십시오. Select Into 대신 Insert 문으로 작성합니다. 아래를 참조하십시오 :

INSERT INTO [ENTHAR_DB].[DBO].[ent7ar_backup](Ex_name,Rs_Barcode, sold_id, 
      Rs_Classno, Rs_Note, Rs_Value,Ex_Barcode) 
Select  T_Examiners.Ex_Barcode, 
      T_Examiners.sold_id, 
      T_Examiners.Ex_name, 
      T_Results.Rs_Barcode, 
      T_Results.Rs_Value, 
      T_Results.Rs_Note, 
      T_Results.Rs_ClassNo 
From  T_Results 
Inner Join T_Examiners On T_Examiners.Ex_Barcode = T_Results.Rs_Barcode 
+0

문자열 또는 이진 데이터가 잘릴 수 있습니다. 성명이 종결되었습니다. 대상이 허용하는 것보다 긴 원본 열에 데이터가 있기 때문에 – Amr

+0

@Amr이 오류가 발생했습니다.이 코드의 결함이 아니기 때문에 문제가됩니다. –

+0

편집했지만 동일한 오류가 발생했습니다. ( – Amr

관련 문제