Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Datenbank muss möglicherweise entweder einfügen oder aktualisieren, je nachdem, ob bereits eine bestimmte Zeile in der Datenbank vorhanden ist.
Ohne die MERGE Anweisung zu verwenden, ist Folgendes ein Ansatz, den Sie in Transact-SQL verwenden können:
UPDATE mytable SET col=@somevalue WHERE myPK = @parm
IF @@ROWCOUNT = 0
INSERT mytable (columns) VALUES (@parm, @other values)
Eine weitere Transact-SQL Methode zum Implementieren eines Merges:
IF EXISTS (SELECT 1 FROM mytable WHERE myPK = @parm)
UPDATE....
ELSE
INSERT
Für eine nativkompilierte gespeicherte Prozedur
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....
Siehe auch
Migrationsprobleme für nativ kompilierte gespeicherte Prozeduren
Transact-SQL Konstrukte, die von In-Memory OLTP nicht unterstützt werden