merge (2) 썸네일형 리스트형 MERGE 응용 - 2. CTE를 사용한 성능 최적화 MERGE 문의 기본 형태 MERGE [타겟 테이블] AS T USING [소스 테이블] AS S ON T.[컬럼] = S.[컬럼] WHEN MATCHED THEN UPDATE SET ~~~ WHEN NOT MATCHED BY TARGET THEN INSERT ~~~ WHEN NOT MATCHED BY SOURCE THEN DELETE; WHEN NOT MATCHED BY SOURCE THEN DELETE; 지난 번에 다룬 UPSERT에 한 가지 동작이 추가되었습니다. 이 동작을 수행하되 타겟 테이블의 일부만 가져와서 MERGE하는 경우를 생각해 봅시다. IF OBJECT_ID(N'dbo.MergeTest', N'U') IS NOT NULL DROP TABLE dbo.MergeTest; GO CREATE.. MERGE 응용 - 1. UPSERT UPSERT ??? 조건을 만족하는 행이 있으면 UPDATE하고, 그렇지 않으면 INSERT하는 구문입니다. 하지만, SQL Server에서는 UPSERT문을 지원하지 않습니다. SQL Server 2008 - MERGE 문 SQL Server 2008에 추가된 MERGE 문을 사용하면 하나의 문에서 여러 INSERT, UPDATE 및 DELETE 작업을 수행할 수 있습니다. 단, MERGE문을 잘 못 작성하면 악성 쿼리로 전락하거나, 예기치 않은 동작으로 데이터의 손실을 유발할 수 있으니 익숙하게 사용할 수 있도록 테스트 구문을 많이 작성해 보시기 바랍니다. MERGE 문으로 UPSERT를 구현 지금까지 SQL Server에서 UPSERT를 수행하려면, UPDATE 후 @@ROWCOUNT를 확인해 다시.. 이전 1 다음