Weiter Zurück Inhalt

3. Constraints

In unseren Stammdaten möchten wir nur Postleitzahlen, Buchstaben sind dort falsch. In unseren Buchungen möchten wir als Typ nur 'K' oder 'D' haben, nix anderes. Wir nutzen nun Constraints, um Falscheingaben zu verhindern.

001 --
002 -- einige Constraints
003 --
004 
005 -- die PLZ muß aus 5 Ziffern bestehen
006 ALTER TABLE kunden ADD CONSTRAINT plz_check CHECK (plz ~ '^[0-9][0-9][0-9][0-9][0-9]$');
007 
008 -- typ darf nur aus 'Z' oder 'A'
009 ALTER TABLE buchungen ADD CONSTRAINT typ_check CHECK (typ ~ '^[AZ]$');
010 
011 -- typ muß ausgefüllt werden
012 ALTER TABLE buchungen ALTER COLUMN typ SET NOT NULL;
013 
014 -- wert muß ausgefüllt werden
015 ALTER TABLE buchungen ALTER COLUMN wert SET NOT NULL;
016 
017 -- und darf nicht kleiner als 0 sein
018 ALTER TABLE buchungen ADD CONSTRAINT wert_check CHECK (wert > 0);
Download constraints.sql


Weiter Zurück Inhalt