sql / expert
Snippet
Benutzerdefinierte Typ-Constraints via CREATE DOMAIN
Ein DOMAIN ist ein globales Schema-Objekt, das es ermöglicht, einen Datentyp mit lokalisierten Constraints zu definieren. Im Gegensatz zu einfachen Spalten-Checks fördern Domains die Wiederverwendbarkeit und zentralisieren die Validierungslogik über mehrere Tabellen hinweg.
snippet.sql
1
2
3
4
5
6
7
CREATE DOMAIN valid_email AS VARCHAR(255)CHECK (VALUE LIKE '%@%.%');CREATE TABLE subscribers (id INTEGER PRIMARY KEY,email valid_email);
Erklärung
1
CREATE DOMAIN valid_email AS VARCHAR(255)
Initialisiert eine benutzerdefinierte Domain basierend auf dem Typ VARCHAR.
2
CHECK (VALUE LIKE '%@%.%')
Wendet einen Constraint an, dass jede Instanz dieser Domain ein '@' und einen Punkt enthalten muss.
3
email valid_email
Verwendet die benutzerdefinierte Domain als Typ für eine Tabellenspalte und erzwingt automatisch die Prüfung.