개발노트

13. [MS-SQL] Merge Into 사용법 본문

DB/MS-SQL

13. [MS-SQL] Merge Into 사용법

mroh1226 2024. 3. 15. 18:22
반응형

Merge Into

Table에 특정 값이 있을 때 Update하고 없을 때 Insert

즉, Upsert하고 싶을 때 사용하는 쿼리 문법

 


MERGE INTO 타깃테이블 AS Target
USING (매칭값) AS Source (타깃테이블칼럼)
ON Target = Source 매칭
WHEN MATCHED THEN(AND 로 조건추가가능) 
    UPDATE SET 업데이트 문구
WHEN NOT MATCHED THEN (AND 로 조건추가가능)
    INSERT (테이블 칼럼명들)
    VALUES (인서트할 값들);


 

예시)

DECLARE @Code VARCHAR(8)
DECLARE @Name NVARCHAR(255)


Set @Code = 12345678
Set @Name =N'TEST'

MERGE INTO User AS Target
USING (VALUES (@Code)) AS Source (Code)
ON Target.Code = Source.Code
WHEN MATCHED THEN
    UPDATE SET Target.Name = @Name
WHEN NOT MATCHED THEN
    INSERT (Code, Name)
    VALUES (@Code, @Name);

반응형
Comments