데이터베이스에 특정 행이 이미 있는지 여부에 따라 데이터베이스에서 업데이트 삽입을 수행해야 할 수 있습니다.
MERGE 문을 사용하지 않고, Transact-SQL에서 사용할 수 있는 한 가지 방법은 다음과 같습니다.
UPDATE mytable SET col=@somevalue WHERE myPK = @parm
IF @@ROWCOUNT = 0
INSERT mytable (columns) VALUES (@parm, @other values)
병합을 구현하는 또 다른 Transact-SQL 메서드:
IF EXISTS (SELECT 1 FROM mytable WHERE myPK = @parm)
UPDATE....
ELSE
INSERT
고유하게 컴파일된 저장 프로시저의 경우
DECLARE @i int = 0 -- or whatever your PK data type is
UPDATE mytable SET @i=myPK, othercolums = other values WHERE myPK = @parm
IF @i = 0
INSERT....
또한 참조하십시오
네이티브 컴파일된 저장 프로시저의 마이그레이션 문제
메모리 내 OLTP에서 지원되지 않는 Transact-SQL 구문.