Gro�es DankeSCH�NE an Alle. Tolle Erkl�rung, werde mir auch gleich die Doku a bisserl zur Brust nehmen.
Sch�nen Tag noch. lg Klausi -----Urspr�ngliche Nachricht----- Von: Joachim van de Bruck [mailto:[EMAIL PROTECTED]] Gesendet: Dienstag, 8. Oktober 2002 07:32 An: ASP Datenbankprogrammierung Betreff: [aspdedatabase] AW: SQL - DELETE? CONSTRAINT? Hallo! > Ich arbeite auf einem MS SQL-Server 2000. Hier sind folgende > zwei Tabellen. > > PRODUKT(produkt_id(PK), name, kategorie_id(FK)) > KATEGORIE(kategorie_id,kategorie_bezeichnung) > > Meine Frage ist jetzt, kann ich sagen/machen, wenn eine > Kategorie gel�scht wird, welche in der Tabelle PRODUKT > vorhanden ist, soll die Spalte kategorie_id (PRODUKT) den > Wert NULL bekommen? Schau Dir mal in der Online Dokumentation das Kapitel �ber Trigger an. Die Tabelle KATEGORIE erh�lt einfach einen AFTER-Trigger, den Du im Enterprise-Manager oder per SQL-DDL definierst: Create Trigger KATEGORIE_DELETE On KATEGORIE For Delete As Update PRODUKT Set KATEGORIE_ID = Null Where KATEGORIE_ID In (Select KATEGORIE_ID From Deleted) Das herausragende an Triggerprozeduren ist, dass sie bei allen �nderungen, egal ob im Enterprise-Manager oder im Query-Analyzer, oder beim Import oder bei Replikation oder durch beliebige Anwendungsprogramme, ausgef�hrt werden. Wenn Du jetzt einen Datensatz in KATEGORIE l�scht, wird die entsprechende Spalte in PRODUKT auf NULL gesetzt. In der Triggerprozedur kannst Du so beliebige Tabelle aktualisieren oder auch einfach verhindern, dass der Satz gel�scht wird, solange der Prim�rschl�ssel noch als Fremdschl�ssel in anderen Tabellen auftaucht. Freundliche Gr��e Joachim van de Bruck | [aspdedatabase] als [EMAIL PROTECTED] subscribed | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv Sie | k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp | [aspdedatabase] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
