티스토리 뷰

테이블에서 특정조건의 데이터가 있을 경우 업데이트, 없을 경우 인서트 해야 하는 상황이 종종 발생하는데,
이럴 경우, 오라클 9i 이상에서는 MERGE INTO 쿼리를 이용하여 한번에 해결할 수 있다.

1. 서로 다른 테이블일 경우,
MERGE INTO insert_table_name alias
USING select_table_name alias
ON (select_table 조건절)
 WHEN MATCHED THEN  -- 조건에 맞다면..
 UPDATE SET col1=val1,..

 WHEN NOT MATCHED THEN  -- 조건에 맞지 않는다면,
 INSERT (col1, col2,..)
 VALUES(val1, val2,..)

위의 경우, 테이블명을 명시했기 때문에, UPDATE(INSERT) 에 테이블명을 따로 쓰지 않는다.

2. 하나의 테이블일 경우,
USING 테이블명에 DUAL을 써 준다. 나머지 부분은 같다. (사실 이 부분 때문에 고생을..어흑..)





공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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
글 보관함