Insert Select 문의 0 2 1,925

by 삼만돌이 [2013.11.22 11:46:31]



제가 검색능력이 따려서 그런지 찾다가 찾다가 안되서 질문을 드립니다.

insert select를 하려고 하는데요 비교하는 테이블이 key 가 두개라서 두개의 조건을 비교해야 되는데
아래 방법 말고는 떠오르는게 없네요..
그런데 아래 방법대로 하는게 아닌것 같아서 질문드립니다.

동일한 테이블인데 DB가 다르며 데이터 동기화를 위해서 한쪽에서 다른 한쪽으로 insert해주는 구조입니다.

   INSERT INTO TEST_A   
    SELECT *
    FROM TEST_A@dblink M
    WHERE M.RGDTM > TO_DATE(TO_CHAR(SYSDATE - 1,'YYYYMMDD'),'YYYYMMDD')
    AND M.KEY1 NOT IN (SELECT S.KEY1
   FROM TEST_A S)
    AND M.KEY2 NOT IN (SELECT S.KEY2
   FROM TEST_A S);

더 좋은 방법이 없을까요?
by 아린 [2013.11.22 12:10:54]
INSERT INTO TEST_A     

-- outer join 을 사용해서 체크해보세요.
SELECT * 
  FROM test_a@dblink m
     , test_a s       
 WHERE m.key1 = s.key1(+)
   AND m.key2 = s.key2(+)
   AND s.key1 IS NULL

by 삼만돌이 [2013.11.22 13:54:50]

한번 진행해보도록 하겠습니다
감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입