본문 바로가기
IT & 테크

[IBM DB2] DB2 에서 MERGE 문 사용하기

by BlackD 2025. 1. 27.
반응형

 


DB2에서 자주 사용되는 테크 팁 중 하나는 MERGE 문을 활용한 기능입니다.
이는 데이터가 이미 존재하면 업데이트하고, 존재하지 않으면 삽입하는 데 유용합니다.

MERGE 문법 예제

다음은 DB2에서 MERGE 문을 사용하는 방법입니다:

반응형
MERGE INTO target_table AS t
USING (SELECT 'key1' AS key_col, 'value1' AS value_col FROM sysibm.sysdummy1) AS s
ON t.key_col = s.key_col
WHEN MATCHED THEN
    UPDATE SET t.value_col = s.value_col
WHEN NOT MATCHED THEN
    INSERT (key_col, value_col)
    VALUES (s.key_col, s.value_col);

주요 내용 설명 :

  1. MERGE INTO: 업데이트 또는 삽입하려는 대상 테이블을 지정합니다.
  2. USING: 소스 데이터를 제공합니다. 이는 SELECT 쿼리일 수도 있고, 다른 테이블일 수도 있습니다.
  3. ON: 대상 테이블과 소스 데이터를 매칭시키는 조건을 설정합니다.
  4. WHEN MATCHED THEN UPDATE: 조건에 맞는 데이터가 있을 경우 업데이트합니다.
  5. WHEN NOT MATCHED THEN INSERT: 조건에 맞는 데이터가 없을 경우 삽입합니다.

활용 예시

  1. 테이블 생성:

 

 

 

    CREATE TABLE target_table ( key_col VARCHAR(50), value_col VARCHAR(50) );

 

   2. 데이터 삽입/업데이트:

 

  • 만약 키가 'key1'인 데이터가 이미 존재하면, value_col을 업데이트합니다.
  • 키가 존재하지 않으면 새 데이터를 삽입합니다.

장점

  • 별도의 EXISTS 또는 SELECT 쿼리를 작성할 필요 없이 한 번의 명령으로 삽입과 업데이트를 처리할 수 있습니다.
  • 트랜잭션 관리가 간편해지고 성능이 향상됩니다.

이 MERGE 문은 데이터 동기화, 배치 처리 등에 매우 유용합니다! 👍
궁금한 점이 있으면 더 물어보세요! 😊

반응형