출처: http://zinlee.tistory.com/185
select 문 이용하는 케이스
출처: 즐거움을 찾자 Find Fun!! :: 오라클 MERGE INTO - 한번에 INSERT, UPDATE 하기
아래는 실제로 사용했던 예. 테이블 명은 임의로 바꿨다. 소스 테이블에 올 내용은 아래처럼 SELECT로 구성해도 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | merge into target_table tt using ( select te.te_cd tt_cd ,te.description tt_disp ,te.jt_no jt_no ,decode(te.is_flag, 'normal' , 'Y' , 'N' ) is_flag from temp_table te left join join_table jt on te.te_no=jt.jt_no where 1=1 ) so on (tt.tt_cd=so.tt_cd and tt.jt_no=so.jt_no) when matched then update set tt.is_flag=so.is_flag ,tt.tt_disp=so.tt_disp when not matched then insert (tt_no, tt_cd, tt_disp, jt_no, is_flag, reg_date) values ( sq_target_table.nextval , so.tt_cd , so.tt_disp , so.jt_no , so.is_flag , sysdate );
|
'개발 > Oracle' 카테고리의 다른 글
오라클 연관테이블에 매핑된 레코드 존재여부 확인 (0) | 2013.12.10 |
---|---|
[Oracle]Sys_Connect_By_Path를 대신할 XMLAGG(XMLELEMENT) (0) | 2013.11.12 |
Oracle SQL GROUP BY절 (0) | 2013.11.08 |