SQL-Assertions
-
Assertions sind eigenständige Datenbankobjekte in Unterschied zu Constraints (z.B.
CHECK), die nur Bestandteile vonCREATE TABLEsind. Allerdings sind Assertions in vielen DBs nicht implementiert. -
Eine Assertion ist eine Anweisung, die sicherstellt, dass bestimmte Bedingungen in der Datenbank immer und in jedem Fall durchgesetzt werden.
-
Assertions werden getrennt von Tabellendefinition definiert.
-
Es handelt sich um eine benannte Anweisung, die eine Bedingung definiert, die für die Daten in einer oder mehreren Tabellen oder in der ganzen Datenbank erfüllt sein muss.
-
Wenn die Bedingung nicht erfüllt ist, schlägt die Assertion fehl und die Datenbank erzeugt einen Fehler.
-
Grundbaustein vom Erzeugen von Assertions:
CREATE ASSERTION assertion_name CHECK (condition);
- Grundbaustein zum Löschen von Assertions:
DROP ASSERTION assertion_name;
- Beispiel:
CREATE ASSERTION age_assertion CHECK (age >= 18);