Leeyebin의 블로그

[ORACLE] MERGE INTO 본문

프로그래밍/SQL

[ORACLE] MERGE INTO

안되면될때까지 2016. 3. 9. 01:37

시험쪽 공지사항, 게시판쪽에서 수정을 하면 리스트에서 보게 되면 수정할 날짜로 박혀는 리스트가 난장판이 되는 문제가 있어서(한번 공지하거나 게시하면 수정하는경우에도 디비에는 들어가지만 보통 목록에 있는 리스트는 등록날짜로 나오고 정렬된다.) 함부장님이 작성한 쿼리를 보던중 모르는 부분이 있어 적어 놓는다. 보통 CRUD로써 신규, 수정, 삭제, 세개의 기능이 있을 것인데 처음 그냥 봤을때는 신규 추가던 수정이건 같은 서비스를 타는데서 처음에는 이게 뭔가 싶었다. 그게 바로 MERGE INTO이다.


MERGE INTO table_name alias
            USING (table | view | subqueryalias                -- 하나의 테이블만 이용한다면 DUAL 활용
                 ON (join condition)                                     -- WHERE절에 조건 쓰듯이
            WHEN MATCHED THEN                                   -- ON 이하의 조건에 해당하는 데이터가 있는 경우 
                     UPDATE SET col1 = val1[, ...]                -- UPDATE 실행
            WHEN NOT MATCHED THEN                           -- ON 이하의 조건에 해당하는 데이터가 없는 경우
                     INSERT (column lists) VALUES (values);  -- INSERT 실행

너무너무 졸려서 이어서쓰도록함

Comments