SQL Server -Prüfbeschränkung

SQL Server -Prüfbeschränkung

Eine Einschränkung bezieht sich auf eine Regel, die definiert, wie die Daten in einer bestimmten Spalte angewendet werden. Eine Einschränkung kann Maßnahmen ausführen, z.

In diesem Artikel werden wir eine der praktischen Einschränkungen im SQL -Server mit dem Namen Check Constraint untersuchen. Eine Überprüfungsbeschränkung wird hauptsächlich verwendet, um die Datenintegrität in einer bestimmten Spalte zu gewährleisten.

Mithilfe einer Überprüfungsbeschränkung können Sie sicherstellen, dass die Daten, die zu einer bestimmten Spalte hinzugefügt werden. Sie können beispielsweise eine Überprüfungsbeschränkung hinzufügen, die sicherstellt.

Lassen Sie uns dies weiter besprechen.

SQL Server -Prüfbeschränkung

Es gibt zwei Möglichkeiten, eine Tabellenspalte zu prüfen: eine Einschränkung der Tabelle:

  1. Während der Tischerstellung
  2. Verwenden des Befehls zur Änderungstabelle in der vorhandenen Tabelle

Es ist immer eine hervorragende Praxis, eine Einschränkung während der Tischerstellung hinzuzufügen. Dies stellt sicher, dass die Regel auf alle Daten in dieser Spalte angewendet wird.

Nehmen Sie zur Veranschaulichung die Tabellendefinition, die im Folgenden dargestellt ist:

Tabellenbenutzer erstellen (Benutzer
Id Int Identity Primärschlüssel,
Benutzername varchar (100) nicht null,
Registration_Date Datum Check (Registration_Date> '2022-01-01'))
);

In der angegebenen Beispieltabelle haben wir drei Spalten mit jeweils eindeutigen Datentyp und Werten erstellt. In der Spalte für die Spalte für einschmelze_date setzen wir jedoch die Überprüfung der Überprüfung, die überprüft, ob jeder zu dieser Spalte hinzugefügte Datumswert größer als 2022-01-01 ist.

Wir rufen zunächst das Keyword des Check -Keywords an, gefolgt vom booleschen Ausdruck, den wir auf diese Spalte anwenden möchten.

Sie können auch einen Namen für die Einschränkung mit dem Schlüsselwort Constraint festlegen. Ein Beispiel ist wie folgt:

Tabellenbenutzer erstellen (Benutzer
Id Int Identity Primärschlüssel,
Benutzername varchar (100) nicht null,
Registration_Date Datum Constraint VERIFY_DATE-Überprüfung (Registration_Date> '2022-01-01'))
);

In diesem Fall weisen wir dem erstellten Einschränkungen den Namen zu, der „verifizieren“ ist. Wenn Sie eine Einschränkung benennen, können Sie Ihr Leben erleichtern, wenn Sie die Einschränkungsparameter entfernen oder aktualisieren müssen.

NOTIZ: Sie können keine namenlosen Einschränkungen in Ihrer Datenbank haben. Wenn also kein Name angegeben ist, generiert der SQL -Server automatisch einen Namen für Ihre Einschränkung.

Sobald wir eine Einschränkung definieren, können wir die Daten wie im Folgenden angezeigt:

Einfügung
hinein
Benutzer (Benutzername,
Registration_date)
Werte ('user1' ',
'2022-01-02');

Sie können feststellen, dass die vorherige Anweisung Anweisung an die Einschränkungsregeln in der Spalte für einschreibe_date einhält.

Wenn wir jedoch gegen die Regeln dieser Einschränkung verstoßen, gibt der SQL -Server einen Fehler zurück, der im Folgenden dargestellt wird:

Einfügung
hinein
Benutzer (Benutzername,
Registration_date)
Werte ('user2', '2021-12-31');

Ausgang:

SQL -Fehler [547] [23000]: Die Anweisung Insert wurde mit der Überprüfung der Einschränkung "verify_date" in Konflikt geraten. Der Konflikt trat in der Datenbank "Resolver", Tabelle "DBO auf.Benutzer ", Spalte 'Registration_Date' '.

Wie Sie sehen können, wird der SQL Server Sie über die Einschränkungsverletzung durch die Anweisung Insert informiert.

Änderung einer vorhandenen Einschränkung

Um die Definition einer vorhandenen Einschränkung mithilfe von Transact-SQL zu ändern, müssen Sie die Einschränkung löschen und mit den neuen Definitionen neu erstellen.

Hinzufügen einer Überprüfungsbeschränkung zu einer vorhandenen Tabelle

Um einer vorhandenen Tabelle eine Einschränkung zu überprüfen, verwenden Sie die im Folgenden bereitgestellte Syntax:

TABLE TABLE TABLE_NAME
Hinzufügen von Constraint Constraint_Name Check (Constraint_Definition);

Entfernen einer Überprüfung der Einschränkung

Um eine Überprüfung der Einschränkung zu entfernen, können Sie den Befehl zur Änderungstabelle wie im Folgenden dargestellt verwenden:

TABLE TABLE TABLE_NAME
Drop Constraint Constraint_Name;

Eine Einschränkung deaktivieren

Sie können die Einschränkungsregeln überspringen, ohne die Einschränkung zu löschen, indem Sie sie deaktivieren. Das Folgende zeigt die Syntax, um eine Einschränkung zu deaktivieren:

TABLE TABLE TABLE_NAME
NoCheck -Einschränkung der Einschränkung_Name;

Die angegebene Syntax sollte die Einschränkung für Einfügen und Aktualisierungsanweisungen deaktivieren.

Abschluss

In diesem Beitrag haben wir untersucht, wie die Arbeit mit der Überprüfung auf dem SQL -Server verwendet wird. Wir haben darüber diskutiert, wie man eine neue Einschränkung erstellt, wie eine Einschränkung geändert wird, wie man eine Einschränkung deaktiviert und wie man eine Einschränkung aus einer Tabelle fallen lässt.