Hallo zusammen,
ich benötige einen Trigger auf eine Tabelle, der mir in eine Historien-tabellle einen Datensatz anlegt. Aber nur, wenn Spalte 6 nicht geändert wurde.
Mein Versuch bisher:
[highlight=mssql]
ALTER TRIGGER [dbo].[AfterUpdateBenutzer] ON [dbo].[Benutzer] AFTER UPDATE AS
IF (COLUMNS_UPDATED() & 32) <> 32
BEGIN
INSERT INTO [dbo].[BenutzerHistorie] SELECT 2, GETDATE(), * FROM INSERTED
END;
[/highlight]
die 32 ergibt sich aus der Umrechnung: 2^(Spalte-1) = 2^(6-1) = 32
So hab ich zumindest verstanden, muss ich Spalte 6 ansprechen.
Kann mir jemand sagen was ich da falsch mache?
ich benötige einen Trigger auf eine Tabelle, der mir in eine Historien-tabellle einen Datensatz anlegt. Aber nur, wenn Spalte 6 nicht geändert wurde.
Mein Versuch bisher:
[highlight=mssql]
ALTER TRIGGER [dbo].[AfterUpdateBenutzer] ON [dbo].[Benutzer] AFTER UPDATE AS
IF (COLUMNS_UPDATED() & 32) <> 32
BEGIN
INSERT INTO [dbo].[BenutzerHistorie] SELECT 2, GETDATE(), * FROM INSERTED
END;
[/highlight]
die 32 ergibt sich aus der Umrechnung: 2^(Spalte-1) = 2^(6-1) = 32
So hab ich zumindest verstanden, muss ich Spalte 6 ansprechen.
Kann mir jemand sagen was ich da falsch mache?
Comment