Wieso funktioniert meine SQL Syntax für Domains nicht?
Wieso funktioniert meine SQL-Syntax nicht?
Meine Aufgabenstellung: "Erstellen Sie eine geeignete Domäne, die als Datentyp für die Speicherung von Vorname und Nachname verwendet werden soll. Es soll für das Datenfeld unbedingt eine Eingabe erforderlich sein! Nennen Sie die Domäne Namen."
CREATE DOMAIN Namen AS VARCHAR(200) CHECK (VALUE IN ("Vorname", "Nachname"));
CREATE TABLE personen (id INTEGER, Vorname Namen, Nachname Namen);
1 Antwort
Vielleicht hast du nicht ganz verstanden wie die Domains funktionieren?
Mithilfe der Domain kannst du ein Eingabeschema definieren. Aktuell überprüfst du ob in das jeweilige Feld: "Vorname" oder "Nachname" eingetragen wurde.
Du willst aber eigentlich überprüfen ob in diesen beiden Feldern überhaupt etwas eingetragen wurde. Also müsstest du vermutlich eher sowas machen:
CREATE DOMAIN Namen as VARCHAR(200) CHECK (value IS NOT NULL AND value <> '');