본문 바로가기

DataBase/MSSQL

[MSSQL] MERGE문

 
MERGE문
조건일치시 UPDATE 불일치시 INSERT 를 처리하는 SQL문법
 

 MERGE 변경될테이블명 AS A 

 USING 기준테이블명 AS B ON A.컬럼명 = B.컬럼명 

 WHEN MATCHED THEN 일치할때쿼리문 

 WHEN NOT MATCHED THEN 불일치할때쿼리문 

 

 MERGE [변경될테이블명] AS A1 
 USING (SELECT '[조건]' AS [컬럼명] )  AS A2
    ON A1.[컬럼명] = A2.[컬럼명]
  WHEN MATCHED THEN
UPDATE
   SET A1.[컬럼] ='[값]'
       , A1.[컬럼] ='[값]'
  WHEN NOT MATCHED THEN
INSERT (A1.[컬럼],A1.[컬럼],A1.[컬럼]) 
VALUES ('[값]','[값]','[값]');

※MERGE 문은 끝에  꼭 ; 를 붙여줘야함