Hi,
habe einen Trigger, welcher bei UPDATE der Tabelle1 ausgeläst wird. Nun möchte ich die veränderte Spalte in TabelleNEU mit INSERT einfügen wenn sie noch nicht in TabelleNEU existiert, und ein UPDATE ausführen, wenn die Spalte bereits vorhanden ist und verändert wurde. Vergleichsspalte ist SpalteA (eine ID mit Primary Key)
habe einen Trigger, welcher bei UPDATE der Tabelle1 ausgeläst wird. Nun möchte ich die veränderte Spalte in TabelleNEU mit INSERT einfügen wenn sie noch nicht in TabelleNEU existiert, und ein UPDATE ausführen, wenn die Spalte bereits vorhanden ist und verändert wurde. Vergleichsspalte ist SpalteA (eine ID mit Primary Key)
Code:
USE [DBName] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo].[TabCheckTrigger] ON [dbo].[TabCheck] FOR UPDATE NOT FOR REPLICATION AS BEGIN SET NOCOUNT ON IF EXISTS(SELECT A.ID FROM TabCheck AS A INNER JOIN inserted AS B ON A.ID = B.ID) BEGIN UPDATE TabLog SET Adresse = B.Adresse, ErstellungsDatum = B.ErstellungsDatum FROM TabelleLog AS A INNER JOIN inserted AS B ON A.ID = B.ID END ELSE IF NOT EXISTS(SELECT A.ID FROM TabCheck AS A INNER JOIN inserted AS B ON A.ID = B.ID) BEGIN SET IDENTITY_INSERT TabLog ON INSERT INTO TabLog (ID ,Adresse ,ErstellungsDatum) SELECT ID ,Adresse ,ErstellungsDatum FROM inserted SET IDENTITY_INSERT TabLog OFF END END
Comment