INSERT INTO A TABLE
SELECT 1, 2, 3
FROM B TABLE
WHERE B.1 = 조건
Insert 시 B Table 의 결과값이 A Table 에 이미 있을 경우 제외하고 Insert 를 하려면 Exists 로 해야되나요??
어떻게 해야되는지 답변 부탁드립니다.
by 아발란체
[2016.01.22 10:41:56]
INSERT INTO A TABLE
SELECT A, B, C FROM A
MINUS
SELECT A, B, C FROM B WHERE B.1 = 조건
by 김동욱
[2016.01.22 11:40:48]
SELECT 시 모든 컬럼이 다 들어가야 되나요?
by 아발란체
[2016.01.22 12:03:59]
아니용, 아래처럼 "A(항목1, 항목2)"식으로 기술하여 해당하는 항목만 기술해주면 됩니다.
INSRT INTO A(항목1, 항목2)
SELECT A, B FROM A
MUNIS
SELECT A, B FROM B
by 김동욱
[2016.01.22 13:45:50]
munis 를 사용할 경우 A table - B table 의 결과값은 A table 의 데이터와 중복이 됩니다.
B table - A table 의 결과값이 A table에 자료가 없을 경우 insert 를 하고 싶은데 어떻게 해야 되나요..
by 아발란체
[2016.01.22 16:52:21]
아.. 반대로 썼네요,
말씀처럼 b - a 하시고 입력은
INSRT INTO A(항목1, 항목2)
SELECT A, B FROM B
MUNIS
SELECT A, B FROM A
by 창조의날개
[2016.01.22 11:25:35]
INSERT INTO ATABLE(COL1, COL2, COL3)
SELECT BB.COL1, BB.COL2, BB.COL3
FROM ATABLE AA
, BTABLE BB
WHERE AA.COL1(+) = BB.COL1
AND AA.COL2(+) = BB.COL2
AND AA.COL3(+) = BB.COL3
AND AA.COL1 IS NULL
AND AA.COL2 IS NULL
AND AA.COL3 IS NULL
AND BB.COL1 = 조건
;
by 김동욱
[2016.01.22 13:46:39]
답변 감사드립니다. 컬럼이 30개 정도가 되면은 하나씩 (+) 를 넣어야 되나요??
by 창조의날개
[2016.01.22 14:40:26]
컬럼 하나라도 다를때 INSERT 해야 한다면..
모두 다 넣어야 합니다.
비교 하려는 컬럼만 WHERE 조건으로 넣으시면 됩니다..
by 백면서생
[2016.01.22 14:31:08]
merge 문을 사용하시면 간단해지겠네요.
굳이 insert select 문을 사용하시려면 not exists를 사용한 세미조인 형태가
나아보이네요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.