INSERTED/DELETED, UPDATED? Tabelle und ROWID?

26/08/2007 - 16:35 von Otto | Report spam
Hallo zusammen,

Mein System:
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005
23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Developer
Edition on Windows NT 5.1 (Build 2600: Service Pack 1)

Ich experimentiere gerade mit TRIGGER und habe folgendes Problem:

Beispiel:
Ich habe eine Tabelle Artikel und möchte bei jeder Änderung in einem
vorhandenen Feld in der Tabelle das Aktualisierungsdatum geschrieben
wird. Dazu habe ich folgenden Trigger geschrieben:

CREATE TRIGGER trgTest ON Artikel
FOR UPDATE
AS
UPDATE Artikel
SET AktDatum = GetDate()
WHERE ROWID IN (SELECT ROWID FROM UPDATED)

Aber anscheinend gibt es keine UPDATED-Tabelle, denn beim Ausführen des
Triggers kommt die Fehlermeldung: Ungültiger Objektname 'UPDATED'

Ich habe weiter getestet und versucht ein INSERT-Trigger zu erstellen.
Dazu habe ich den obigen Trigger statt mit UPDATE/UPDATED mit
INSERT/INSERTED geschrieben. Bei diesem Versuch kommt die Fehlermeldung
sogar schon beim erstellen des Triggers und zwar ROWID wird nicht erkannt.

Ich habe natürlich vorher gegoogelt, aber konnte mein Problem nicht lösen.
Unter folgendem Link fand ich einen Beitrag mit selbem Thema wie meins
und dort wird behauptet, daß es so geht, wie mein obiger INSERT-Trigger.

http://groups.google.de/group/micro...0c511d7979

Kann mir bitte jemand helfen? Das Thema Trigger ist für mich relativ neu
- jedenfalls in der Praxis.

Danke vorab

Gruß
Otto
 

Lesen sie die antworten

#1 Uli Münch
26/08/2007 - 17:04 | Warnen spam
Hallo Otto,

so sollte es gehen

CREATE TRIGGER trgTest ON Artikel
FOR UPDATE
AS
UPDATE Artikel
SET AktDatum = GetDate()
WHERE ROWID IN (SELECT ROWID FROM INSERTED)



Gruss Uli



"Otto" schrieb im Newsbeitrag
news:%23x%23ZT3%
Hallo zusammen,

Mein System:
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38
Copyright (c) 1988-2003 Microsoft Corporation Developer Edition on
Windows NT 5.1 (Build 2600: Service Pack 1)

Ich experimentiere gerade mit TRIGGER und habe folgendes Problem:

Beispiel:
Ich habe eine Tabelle Artikel und möchte bei jeder Änderung in einem
vorhandenen Feld in der Tabelle das Aktualisierungsdatum geschrieben wird.
Dazu habe ich folgenden Trigger geschrieben:

CREATE TRIGGER trgTest ON Artikel
FOR UPDATE
AS
UPDATE Artikel
SET AktDatum = GetDate()
WHERE ROWID IN (SELECT ROWID FROM UPDATED)

Aber anscheinend gibt es keine UPDATED-Tabelle, denn beim Ausführen des
Triggers kommt die Fehlermeldung: Ungültiger Objektname 'UPDATED'

Ich habe weiter getestet und versucht ein INSERT-Trigger zu erstellen.
Dazu habe ich den obigen Trigger statt mit UPDATE/UPDATED mit
INSERT/INSERTED geschrieben. Bei diesem Versuch kommt die Fehlermeldung
sogar schon beim erstellen des Triggers und zwar ROWID wird nicht erkannt.

Ich habe natürlich vorher gegoogelt, aber konnte mein Problem nicht lösen.
Unter folgendem Link fand ich einen Beitrag mit selbem Thema wie meins und
dort wird behauptet, daß es so geht, wie mein obiger INSERT-Trigger.

http://groups.google.de/group/micro...0c511d7979

Kann mir bitte jemand helfen? Das Thema Trigger ist für mich relativ neu -
jedenfalls in der Praxis.

Danke vorab

Gruß
Otto

Ähnliche fragen