Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ändern Sie eine CHECK-Einschränkung in SQL Server mithilfe von T-SQL

Wenn Sie bereits einen bestehenden CHECK haben Einschränkung in SQL Server, aber Sie müssen sie ändern, Sie müssen sie löschen und neu erstellen. Es gibt kein ALTER CONSTRAINT Erklärung oder ähnliches.

Um also eine bestehende Einschränkung zu „modifizieren“:

  1. Löschen Sie die Einschränkung mit ALTER TABLE mit DROP CONSTRAINT .
  2. Erstellen Sie die neue Einschränkung mit ALTER TABLE mit ADD CONSTRAINT .

Beispiel

Hier ist ein Beispiel für das Löschen und Neuerstellen eines CHECK Einschränkung.

ALTER TABLE ConstraintTest 
  DROP CONSTRAINT chkTeamSize;

ALTER TABLE ConstraintTest
  ADD CONSTRAINT chkTeamSize 
  CHECK (TeamSize >= 5 AND TeamSize <= 20)
  ;

Wie bereits erwähnt, können Sie es nicht ändern – Sie müssen es löschen und mit der neuen Definition erstellen.

In diesem Fall heißt die Einschränkung chkTeamSize und ich lösche es einfach und erstelle es mit der neuen Definition.

Hinweis zur Bestellung

Beachten Sie, dass CHECK Einschränkungen werden in der Reihenfolge ihrer Erstellung validiert, sodass das Löschen/Neuerstellen einer Einschränkung dazu führen kann, dass sie in einer anderen Reihenfolge als zuvor validiert wird. Dies kann dazu führen, dass andere Fehler vor dieser Einschränkung abgefangen werden, wenn sie zuvor danach abgefangen wurden.