Jens Menke: SQL-Server7 und Löschweitergabe an Detaildatensätze ??

Hi

oki, die Frage ist nicht 100% ASP , hat für mich aber damit
zu tun da ich hier einige Access-Tabellen auf SQL-Server
umstelle , und dabei vor dem Problem stehe das ich unter
Access über die Beziehungen die Löschweitergabe an Detailsätze von 1:n Beziehungen machen konnt.
Falls jemand weiss ob das überhaupt geht , und wenn ja
wie wäre ich dankbar , die Unterschiede in der SQL-Syntax von Access und SQL-Server nerven eh schon ohne Ende.. *seufz*

gruss
Jens

  1. Hi

    oki, die Frage ist nicht 100% ASP , hat für mich aber damit
    zu tun da ich hier einige Access-Tabellen auf SQL-Server
    umstelle , und dabei vor dem Problem stehe das ich unter
    Access über die Beziehungen die Löschweitergabe an Detailsätze von 1:n Beziehungen machen konnt.
    Falls jemand weiss ob das überhaupt geht , und wenn ja
    wie wäre ich dankbar , die Unterschiede in der SQL-Syntax von Access und SQL-Server nerven eh schon ohne Ende.. *seufz*

    gruss
    Jens

    Hallo,

    mit dem Upgrade-Assistenten von Access zu SQL-Server sollten auch die Löschweitergaben migriert werden. Ansonsten muß Du einen Datenbanktrigger auf die Mastertabelle legen, der Dir beim Löschen eines Masterdatensatzes die Details löscht.

    Tschau, Stefan

  2. Access über die Beziehungen die Löschweitergabe an Detailsätze von 1:n Beziehungen machen konnt.
    Falls jemand weiss ob das überhaupt geht , und wenn ja

    Ich weiß nicht genau, was Du mit "Detailsätze" meinst (d. h. welches SQL-Konzept dafür Du verwendest).
    Ich habe in meiner Datenbank Abhängigkeiten über constraints zu Wertemengen (Feld x in Tabelle tab referenziert Feld wert in tabelle wertemenge_x etc.).
    Bei der Definition dieser Constraint kann man in SQL (konkret: Oracle 7) sagen: "ON DELETE CASCADE". Im Klartext: Würde ich einen Datensatz aus wertemenge_x löschen, dann würde die Datenbank von sich aus sämtliche Datensätze aus tab löschen, die den aus wertemenge_x gelöschten Wert enthalten (um die Abhängigkeitsbedingung weiterhin sicherzustellen).
    Lasse ich diese Klause weg, dann scheitert das Löschen des Wertes aus wertemenge_x, wenn mindestens ein Eintrag in tab existiert, der diesen Wert verwendet.

    Also: DDL, nix Trigger. (Falls es das ist, was Du wolltest.)

    wie wäre ich dankbar , die Unterschiede in der SQL-Syntax von Access und SQL-Server nerven eh schon ohne Ende.. *seufz*

    Tja, wer hält sich schon an offizielle SQL-Standards? Das ist auch nicht besser als mit HTML und Co. (eher schlimmer, denke ich, weil niemandem bewußt ist, welche Versionen von SQL-Standards es gibt).