ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Merge (통합)
    SQL 2020. 2. 13. 19:53

    Merge란?

     

     - 조건에 따라서 데이터의 삽입, 삭제, 갱신 작업을 한번에 수행 가능

     

     - 해당 행이 존재하는 경우 UPDATE / DELETE를 수행하고, 새로운 행일 경우 INSERT 수행한다.

     

     - 대상 테이블에 대한 UPDATE / INSERT 조건은 ON 절에 의해 결정된다.

     

     

    MERGET Syntax

    - INTO : data가 UPDATE 되거나 INSERT 될 테이블 또는 뷰를 지정

     

    - USING : 비교할 테이블 또는 VIEW나 SUB-QUERY를 지정

     

                 * INTO 절의 테이블과 동일하거나 다를 수 있음

     

                   리터럴 값도 올 수 있음 - USING (VALUES (리터럴 값1), (리터럴 값 2) )

     

     

    - ON : UPDATE나 INSERT를 하게 될 조건으로, 해당 조건을 만족하는 data가 있으면

      

             WHEN MATCHGED 절을 실행, 없으면 WHEN NOT MATCHED 절을 실행

     

    - WHEN MATCHED : ON 조건절이 TRUE인 ROW에 수행 할 내용 (UPDATE, DELETE)

     

    - WHEN NOT MATCHED : ON 조건절에 맞는 ROW가 없을 때 수행할 내용 (INSERT)

     

     

     

    실습

     

    1.

     

    2.

    단일 테이블을 MERGE 할 땐 dual 테이블을 이용 가능

     

    3.

    'SQL' 카테고리의 다른 글

    REPORT GROUP 함수 - ROLLUIP, CUBE, GROUPING  (0) 2020.02.13
    WINDOW FUNCTION (윈도우 함수)  (0) 2020.02.13
    Multiple INSERT  (0) 2020.02.13
    Data Dictionary  (0) 2020.02.13
    Synonym (동의어)  (0) 2020.02.13

    댓글

Designed by Tistory.