Benutzer mit den meisten Antworten
Check Constraint

Frage
-
Hallo,
ich will in einer Tabelle (SQL Server 2005) einen Check Constraint schreiben, der fuer ein Attibut (mit Integer Wert) eine Fremdschluesselbeziehung auf eine andere Tabelle nur dann ueberprueft, wenn der Wert dieses Attributes ungleich 0 ist. (also das Attribut soll sich wie ein Fremdschluessel verhalten, der nur den Wert 0 ohne Ueberpruefung zulaesst) .
Kann mir jemand dabei helfen?
Danke
Manos
Antworten
-
Hallo,
wenn Du DBNull kennst, kennt .NET das auch...
Wenn Du das nicht ändern kannst/willst:
Lege für die 0-Zeilen entsprechende Primärzeilen an (z. B. mit "undefiniert" wenn Text vorkommt),
dann ist der Fremdschlüssel in den Fällen immer gültig.
Ein CHECK bringt nichts, da dann immer noch die Fremdschlüssel auf die Nase fallen.Gruß Elmar
- Als Antwort markiert manolis_k Samstag, 4. September 2010 15:12
Alle Antworten
-
Hi Elmar,
mit NULL ist schon klar. Mein Problem ist, dass die schon bestehende Anwendung mit 0 umgehen kann, (und nicht mit DBNull...Das Datenbankschema hatte da eine Luecke). Also muss ich dabei mit umfangreichen Aenderungen rechnen und die will ich vermeiden, wenn das mit 0 geht.
Danke
manos
-
Hallo,
wenn Du DBNull kennst, kennt .NET das auch...
Wenn Du das nicht ändern kannst/willst:
Lege für die 0-Zeilen entsprechende Primärzeilen an (z. B. mit "undefiniert" wenn Text vorkommt),
dann ist der Fremdschlüssel in den Fällen immer gültig.
Ein CHECK bringt nichts, da dann immer noch die Fremdschlüssel auf die Nase fallen.Gruß Elmar
- Als Antwort markiert manolis_k Samstag, 4. September 2010 15:12