Hallo Zusammen,
Ich bin MSSQL-Neuling und beschäftige mich hauptsächlich mit ORACLE-DB und hier ist es kein Problem während eines INSERT oder UPDATE-Triggers noch Feldinhalte im aktuellen Datensatz anzupassen. Dafür können einfach die Felder, die den neuen Datensatzinhalt repräsentieren gesetzt werden, z.B.:
if :OLD.FELDNAME1 = ALTERWERT then
:NEW.FELDNAME2 = NEUER WERT;
end if;
(Die Parameter :NEW bzw. :OLD sind in ORACLE das Gegenstück zu MSSQL "select xy from inserted" bzw. "select xy from deleted".)
Wie geht das in MSSQL (2008) am einfachsten ?
D.H. wie bekomme ich es hin, in Felder des getriggerten Datensatz noch Daten zu verändern ?
Ich kann ja schlecht innerhalb des Triggers nochmal ein UPDATE-Statement auf den gleichen Datensatz absetzen, dadurch würde sich der Trigger doch selbst wieder aufrufen, oder ?
Ich hoffe, daß ich mich einigermaßen verständlich ausgedrückt habe und bin für jede Hilfe dankbar
Ich bin MSSQL-Neuling und beschäftige mich hauptsächlich mit ORACLE-DB und hier ist es kein Problem während eines INSERT oder UPDATE-Triggers noch Feldinhalte im aktuellen Datensatz anzupassen. Dafür können einfach die Felder, die den neuen Datensatzinhalt repräsentieren gesetzt werden, z.B.:
if :OLD.FELDNAME1 = ALTERWERT then
:NEW.FELDNAME2 = NEUER WERT;
end if;
(Die Parameter :NEW bzw. :OLD sind in ORACLE das Gegenstück zu MSSQL "select xy from inserted" bzw. "select xy from deleted".)
Wie geht das in MSSQL (2008) am einfachsten ?
D.H. wie bekomme ich es hin, in Felder des getriggerten Datensatz noch Daten zu verändern ?
Ich kann ja schlecht innerhalb des Triggers nochmal ein UPDATE-Statement auf den gleichen Datensatz absetzen, dadurch würde sich der Trigger doch selbst wieder aufrufen, oder ?
Ich hoffe, daß ich mich einigermaßen verständlich ausgedrückt habe und bin für jede Hilfe dankbar
Comment