Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie ändere ich eine vorhandene Check-Einschränkung?

Sie müssen sie löschen und neu erstellen, aber Sie müssen nicht die Kosten für die erneute Validierung der Daten tragen, wenn Sie dies nicht möchten.

alter table t drop constraint ck ;
alter table t add constraint ck check (n < 0) enable novalidate;

Das enable novalidate -Klausel erzwingt Einfügungen oder Aktualisierungen, um die Einschränkung durchzusetzen, erzwingt jedoch keinen vollständigen Tabellenscan der Tabelle, um zu überprüfen, ob alle Zeilen übereinstimmen.