2010-01-14 5 views
1

SQL Server에서 Excel 스프레드 시트를 읽고 새 항목 만 테이블로 가져 오는 작업입니다. 엔티티는 제공자이라고합니다.SQL Server : Excel에서 가져 오기, 새 항목 만 필요합니다.

이 같은 Excel 스프레드 시트를 생각해

alt text

목표 테이블은 다음과 같이이다 :

alt text

에 작업은 다음과 같습니다

  • 2008 Express를 사용하여 도구 모음
  • SQL Sever 2000의 기존 테이블로 가져 오기
  • 테이블의 기존 데이터! 증분이있는 ID는 PK입니다. 이것은 다른 테이블에서 FK로 사용되며 참조가 만들어집니다.
  • 스프레드 시트에서 새 행만 가져 오기하십시오! 가 어떻게이 목표를 달성하기 위해 SQL 2008 도구 세트 (가능성 가져 오기 및 내보내기 마법사)를 사용할 수 있습니다 :
  • 은 스프레드 시트에 존재하지 않는 행이

이 질문 무시? 나는 "전송할 데이터를 지정하는 쿼리를 작성해야합니다"라고 생각합니다.

문제는 도구가 미세 조정을 위해 생성하는 것처럼 쿼리를 찾을 수 없다는 것입니다. 내가 할 아마 것 무엇

alt text

답변

3

는 엑셀 데이터베이스 내에서 별도의 준비 테이블에 데이터를 다음이 존재하지 않는 기록을 복사 메인 테이블에 INSERT를 실행 대량로드입니다.

INSERT MyRealTable (ID, FirstName, LastName,.....) 
SELECT ID, FirstName, LastName,..... 
FROM StagingTable s 
    LEFT JOIN MyRealTable r ON s.ID = r.ID 
WHERE r.ID IS NULL 

완료되면 준비 테이블을 삭제하십시오.

+2

과 같이 이름이 새겨 져 있습니다 (이름이 RTROM (LTRIM (이름)) 입니다. SQL Server 2008을 사용 중이라면 꼭 새로운 MERGE 명령을 사용하십시오! –

0

로드하기 전에 해당 스테이지 테이블에서 일부 업데이트를 실행하고 필요에 따라이를 정리할 수 있습니다. 예 :

관련 문제