다음 두 테이블이 있습니다.
Table1
----------
ID Name
1 A
2 B
3 C
Table2
----------
ID Name
1 Z
에서 Table1
에 데이터를 삽입해야합니다 Table2
. 다음 구문을 사용할 수 있습니다.
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1
그러나 제 경우에는 중복 ID가 존재할 수 있으며 Table2
(제 경우에는 " 1
" 일뿐 ) 오류가 발생할 수 있으므로 다시 복사하고 싶지 않습니다.
다음과 같이 작성할 수 있습니다.
IF NOT EXISTS(SELECT 1 FROM Table2 WHERE Id=1)
INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1
ELSE
INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1 WHERE Table1.Id<>1
사용하지 않고이 작업을 수행하는 더 좋은 방법이 IF - ELSE
있습니까? INSERT INTO-SELECT
조건에 따라 두 가지 진술 을 피하고 싶습니다 .