2013-06-26 5 views
0

기본적으로 모든 CSV 파일의 폴더를 감시하는 Windows 서비스가 있습니다. CSV 파일의 각 레코드는 SQL 테이블에 삽입됩니다. 동일한 CSV 파일을 해당 폴더에 넣으면 테이블에 중복 레코드 항목이 생길 수 있습니다. 어떻게하면 SQL 테이블에 중복 된 삽입을 피할 수 있습니까? a, bc 관련 열입니다SQL 테이블에 중복 레코드 삽입 방지

+1

"중복"레코드를 어떻게 감지합니까? GUID와 같은 고유 한 열이 있는지, 이전 열과 새로운 열을 비교할 수 있는지 또는 모든 열이 동일한 지 확인해야합니다. 또한 csv의 각 행이 중복되었는지 또는 동일한 파일을 두 번 가져 오지 않는지 확인해야합니까? –

+0

업로드하기 전에 CSV 파일에 대한 유효성 검사를 수행합니까? –

+0

Scott, 불행히도 테이블에 기본 키가 없습니다. CSV 레코드를 SQL 테이블의 전체 행과 어떻게 비교합니까? –

답변

1

시도 INSERT WHERE NOT EXISTS, @a, @b@c 관련 값입니다.

INSERT INTO table 
(
    a, 
    b, 
    c 
) 
VALUES 
(
    @a, 
    @b, 
    @c 
) 
WHERE NOT EXISTS 
(
    SELECT 0 FROM table WHERE a = @a, b = @b, c = @c 
)