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

Antwort per Email an