Trigger Problem

25/02/2008 - 12:01 von Ingo R. Kirchner | Report spam
Hallo SQL-Gemeinde,

habe mal eine Frage zu einen Trigger. Ich möchte nach Aktualisierung
einer Spalte bzw. Feld in einer Tabelle 'a' eine Aktualisierung in einer
weiteren Tabelle 'b' vornehmen. So weit so gut. Für die Tabelle 'b'
brauche ich eine WHERE Klausel mit Bezug auf ein weiteres Feld aus 'a',
aber eben nur aus dem zuerst aktualisierten Datensatz.

Besten Dank im Voraus

Ingo



CREATE TRIGGER trigger_name
ON table_a
AFTER UPDATE ...
AS
IF UPDATE ( column1 )
UPDATE table_b
SET ...
FROM table_b
WHERE xyz = table_a.column2
 

Lesen sie die antworten

#1 Olaf Pietsch
25/02/2008 - 12:13 | Warnen spam
Hallo Ingo,

"Ingo R. Kirchner" schrieb im Newsbeitrag
news:%
habe mal eine Frage zu einen Trigger. Ich möchte nach Aktualisierung einer
Spalte bzw. Feld in einer Tabelle 'a' eine Aktualisierung in einer
weiteren Tabelle 'b' vornehmen. So weit so gut. Für die Tabelle 'b'
brauche ich eine WHERE Klausel mit Bezug auf ein weiteres Feld aus 'a',
aber eben nur aus dem zuerst aktualisierten Datensatz.



im Trigger gibt es die logischen Tabellen inserted und deleted.
in Inserted sind die Datensàtzen enthalten, die neu sind bzw. die aktuellen
Werte beim Update

CREATE TRIGGER trigger_name
ON table_a
AFTER UPDATE ...
AS
IF UPDATE ( column1 )
UPDATE table_b
SET ...
FROM table_b
WHERE xyz = table_a.column2



in etwa:
...
update b
set ...
from table_b as b
inner join inserted as i on b.column2 = i.column2

Verwenden der Tabellen inserted und deleted
http://msdn2.microsoft.com/de-de/li...91300.aspx

Gruß Olaf
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Blog (http://www.sqlpass.de/PASSUserBlogs...x?BlogID=3)
Regionalgruppe Köln/Bonn/Düsseldorf
(http://www.sqlpass.de/Regionalgrupp...fault.aspx)

Ähnliche fragen