Update Trigger unter SQL Server 2000

20/11/2008 - 12:16 von Fudzzi | Report spam
Hallo NG,

habe folgendes Problem.
ich benötige einen Trigger, der immer reagiert wenn eine Spalte in einer
Tabelle geàndert wurde protokolliert wird. Das funktioniert. Nun möchte ich
noch zusàtzlich das SQL-Statement mit abspeichern, das den Trigger ausgelöst
hat. Ebenfalls hilfreich wàren die Prozessid, Name des Programms.

Trigger der funktioniert:
CREATE TRIGGER XXXX
ON Tabelle
FOR update AS
IF UPDATE(Spalte1)
BEGIN
INSERT INTO Tabelle2
(status, Spalte)
SELECT 'OLD',
del.Spalte
FROM deleted del

INSERT INTO Tabelle 2
(status, Spalte)
SELECT 'NEW',
ins.Spalte,

FROM inserted ins
END
GO

Hat jemand eine Idee, wie ich hier zusàtzlich an das komplette SQL Statement
drankomme?

Vielen Dank im Voraus
Gruß Michael Gernot
 

Lesen sie die antworten

#1 Stefan Hoffmann
20/11/2008 - 21:07 | Warnen spam
hallo,

Fudzzi schrieb:
ich benötige einen Trigger, der immer reagiert wenn eine Spalte in einer
Tabelle geàndert wurde protokolliert wird. Das funktioniert. Nun möchte ich
noch zusàtzlich das SQL-Statement mit abspeichern, das den Trigger ausgelöst
hat. Ebenfalls hilfreich wàren die Prozessid, Name des Programms.


Weder das Statement, noch die PID machen imho Sinn.

INSERT INTO Tabelle2
(status, Spalte)
SELECT 'OLD',
del.Spalte
FROM deleted del


Nett, aber damit weißt du ja nicht einmal welche Zeilen betroffen waren.
Du solltest zumindest mal den PK mit speichern.

Ansonsten helfen dir evtl. @@SPID und sp_who weiter.


mfG

Ähnliche fragen