0
기본적으로 모든 CSV 파일의 폴더를 감시하는 Windows 서비스가 있습니다. CSV 파일의 각 레코드는 SQL 테이블에 삽입됩니다. 동일한 CSV 파일을 해당 폴더에 넣으면 테이블에 중복 레코드 항목이 생길 수 있습니다. 어떻게하면 SQL 테이블에 중복 된 삽입을 피할 수 있습니까? a
, b
및 c
관련 열입니다SQL 테이블에 중복 레코드 삽입 방지
기본적으로 모든 CSV 파일의 폴더를 감시하는 Windows 서비스가 있습니다. CSV 파일의 각 레코드는 SQL 테이블에 삽입됩니다. 동일한 CSV 파일을 해당 폴더에 넣으면 테이블에 중복 레코드 항목이 생길 수 있습니다. 어떻게하면 SQL 테이블에 중복 된 삽입을 피할 수 있습니까? a
, b
및 c
관련 열입니다SQL 테이블에 중복 레코드 삽입 방지
시도 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
)
"중복"레코드를 어떻게 감지합니까? GUID와 같은 고유 한 열이 있는지, 이전 열과 새로운 열을 비교할 수 있는지 또는 모든 열이 동일한 지 확인해야합니다. 또한 csv의 각 행이 중복되었는지 또는 동일한 파일을 두 번 가져 오지 않는지 확인해야합니까? –
업로드하기 전에 CSV 파일에 대한 유효성 검사를 수행합니까? –
Scott, 불행히도 테이블에 기본 키가 없습니다. CSV 레코드를 SQL 테이블의 전체 행과 어떻게 비교합니까? –