2012-03-30 3 views
5

SQL Server 2008에서 2 개의 동일한 테이블이 있는데, 하나는 내 응용 프로그램이 지속적으로 사용하는 "라이브"테이블입니다. 하루 중 새 레코드를 주기적으로 가져와 새 레코드를 가져 와서 라이브 테이블에 삽입해야하는 "스테이징"테이블에 삽입합니다. 일부 레코드가 중복되는 경우에 대비하여 삽입 된 중복을 원하지 않습니다. 동일한 레코드가 존재하는지 살펴보기 위해 필자가 필요로하는 열이 10 개 있는데, TSQL 예제를 살펴본 적이 있지만 지금까지 아무 것도 작동하지 않았으며, 또한 속임수를 다루는 것을 고려했으며 DISTINCT 값은보고했지만 DISTINCT 값은보고했습니다 한 기록을 위해 일하면서, 나는 10 세에 일할 필요가있다. 어떤 제안이라도?스테이징 테이블의 레코드로 라이브 테이블 채우기

감사합니다, 샘

답변

5

이것은 NOT EXISTS을위한 이상적인 사용 사례 - 당신은 당신이 잘 속는를 삽입하지 않습니다 확인하기 위해 원하는만큼 기준에 확인할 수 있습니다.

INSERT INTO Live 
SELECT <fields> 
FROM Staging s 
WHERE NOT EXISTS (SELECT 1 
        FROM Live l 
        WHERE s.FieldA = l.FieldA 
        AND s.FieldB = l.FieldB 
        <all your checks here>...) 
+0

정말 고맙습니다. –

+0

@SamCromer, 기꺼이 도와 드리겠습니다. – JNK

관련 문제