Frank: "On Delete Cascade" auf M$ SQL7

Hallo verehrte Gemeinde,

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.

Leider hab ich in der Dokumentation zum Server nichts gefunden, was mir diesbezüglich weiterhelfen konnte, auch im Bereich "Diagramme" nicht.

Hat jemand hier davon Ahnung? Wäre für eine Hilfe dankbar.

Viele Grüße und bis demnächst.
Frank

  1. 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

    1. Hi Stefan,

      vielen Dank für den Tip. Hat mir geholfen, mußte zwar erst ein wenig probieren bis ich raushatte, was wie rum und so...

      HTH -> HAT GEHOLFEN!

      Tschau, Frank