sql / expert
Snippet
Globale Konsistenz mit Assertions auf Schema-Ebene
Assertions sind mächtige Constraints auf Schema-Ebene, die Logik über mehrere Tabellen hinweg validieren können. Im Gegensatz zu Triggern sind sie deklarativ und stellen sicher, dass die Datenbank niemals einen ungültigen Zustand einnimmt.
snippet.sql
1
2
3
4
5
CREATE ASSERTION balance_safetyCHECK (NOT EXISTS (SELECT 1 FROM accountsWHERE type = 'SAVINGS' AND balance < 0));
Erklärung
1
CREATE ASSERTION
Definiert eine globale Bedingung, die unabhängig vom Lebenszyklus einer einzelnen Tabelle ist.
2
CHECK (NOT EXISTS (...))
Die Logik, die für jeden Transaktions-Commit immer als wahr ausgewertet werden muss.