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);
반응형