Stefan Falz: "On Delete Cascade" auf M$ SQL7

Beitrag lesen

Hallo Frank,

ich bin gerade am Portieren einer Internetapplikation von einer Oracle-DB zu M$ SQL-Server 7.  Unter Oracle gibt es die Möglichkeit bei Keys ein On Delete Cascade dranzuhängen, was bewirkt, das auch alle Daten in anderen Tabellen die über einen Foreign Key an diesem "On Delete..." Key dranhängen mitgelöscht werden.

CASCADE DELETE gibt es in SQL Server 7 nicht. Das ganze kannst
du aber mit einem Trigger nachbauen.

CREATE TRIGGER cd<TABLENAME>
    ON <TABLENAME>
FOR DELETE
AS
    DELETE FROM <OTHERTABLENAME> WHERE <OTHERTABLENAME>.foreignkey = deleted.primarykey

Zur Info: Constraints werden vor Ausführung des Triggers geprüft.

HTH, Stefan