반응형
예를들어 SELECT한 결과값을 그대로 특정 테이블에 INSERT 해야한다고 가정해보자.
INSERT INFO test_tb1(
col1,col2,col3
)
SELECT col1,col2,col3
FROM test_tb2
WHERE row_id = {#row_id}
기존에 test_tb1에 특정한 row_id를 PK로 가지는 행이 존재하는 경우에 EXISTS조건으로 중복되는 행은 제외할 수가 있다.
INSERT INFO test_tb1(
col1,col2,col3
)
SELECT col1,col2,col3
FROM test_tb2
WHERE row_id = {#row_id}
AND NOT EXISTS(
SELECT 1
FROM test_tb1 t1
WHERE t1.row_id = t2.row_id
)
test_tb1 테이블과 test_tb2 테이블에 같은 row_id가 있을시에 INSERT는 실행되지 않으므로, 중복삽입을 방지 할 수 있다.
반응형
'IT > DB' 카테고리의 다른 글
DBeaver 쿼리 조회 결과를 엑셀 파일로 저장하기(DATA EXPORT) (1) | 2024.11.07 |
---|---|
SSMS 링크드 서버 설정 및 오픈쿼리 조회 (0) | 2024.11.05 |
MSSQL 오류 : (으)로 시작하는 식별자이(가) 너무 깁니다. 최대 길이는 128입니다. (0) | 2024.02.07 |
MSSQL 나누기시 정수로 보여질때 (0) | 2024.01.16 |
MSSQL 공휴일 제외 영업일 구하는 FUNCTION 만들기 (2) | 2024.01.10 |