Databases Reference
In-Depth Information
VNR NAME STATUS GEHALT
---------- ------ ------- ----------
1002 Ute Senior 1995
1003 Uwe Senior 2100
1004 Ulf Junior
1005 Urs Junior 1365
1006 Uta 1500
Danach werden ein UPDATE - und ein DELETE -Befehl ausge-
führt. Zu beachten ist, dass es Zeilen gibt, bei denen die WHERE -
Prädikate nach „wahr“ und andere, bei denen die Prädikate
nach „nicht falsch“, genauer „unbekannt“, ausgewertet werden.
DELETE FROM Verkaeufer
WHERE Gehalt>2000;
UPDATE Verkaeufer
SET Status='Senior'
WHERE Status='Junior';
SELECT * FROM Verkaeufer
Dies führt zu folgender Ausgabe:
VNR NAME STATUS GEHALT
---------- ------ ------- ----------
1002 Ute Senior 1995
1004 Ulf Senior
1005 Urs Senior 1365
1006 Uta 1500
Man sieht, dass Auswertungen nach „unbekannt“ nicht dazu
geführt haben, dass Änderungen in den betroffenen Zeilen
durchgeführt wurden.
X
X>42 X=NULL X IS NULL X IS NOT NULL
18
f
u
f
w
66
w
u
f
w
NULL u
u
w
f
Abb. 6-4: Überprüfung auf NULL-Werte
Bei Änderungen oder auch Überprüfungen möchte man häufi-
ger gewisse Aktionen davon abhängig machen, ob ein Attri-
butwert NULL ist. Der direkte Ansatz mit Status=NULL führt
nicht zum Erfolg, da NULL-Werte in SQL wegen ihrer Beson-
derheit anders geprüft werden müssen. Solche direkten Über-
prüfungen haben immer in der Auswertung das Ergebnis
„undefiniert“. Die korrekte Überprüfung auf NULL-Werte fin-
det in SQL mit Status IS NULL bzw. Status IS NOT
Überprüfung auf
NULL-Werte
134
Search WWH ::




Custom Search