Erstellen von CHECK-Einschränkungen
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Sie können mit SQL Server Management Studio und Transact-SQL eine Prüfeinschränkung in einer Tabelle erstellen, um die Datenwerte anzugeben, die in mindestens einer Spalte in SQL Server zulässig sind. Weitere Informationen zum Hinzufügen von Spalteneinschränkungen finden Sie unter ALTER TABLE column_constraint.
Weitere Informationen finden Sie unter UNIQUE-Einschränkungen und CHECK-Einschränkungen.
Hinweise
Um vorhandene CHECK-Einschränkungen abzufragen, verwenden Sie die Systemkatalogsicht sys.check_constraints
Berechtigungen
Erfordert die ALTER
-Berechtigungen für die Tabelle.
Verwenden von SQL Server Management Studio
Erweitern Sie im Objekt-Explorerdie Tabelle, der Sie eine CHECK-Einschränkung hinzufügen möchten, klicken Sie mit der rechten Maustaste auf Einschränkungen, und klicken Sie auf Neue Einschränkung.
Klicken Sie im Dialogfeld Einschränkungen überprüfen auf das Feld Ausdruck und dann auf die Auslassungspunkte (…).
Geben Sie im Dialogfeld CHECK-Einschränkungen die SQL-Ausdrücke für die CHECK-Einschränkungen ein. Um die Einträge in der Spalte
SellEndDate
der TabelleProduct
auf einen Wert zu beschränken, der entweder größer oder gleich dem Datum in der SpalteSellStartDate
oder ein WertNULL
ist, geben Sie z. B. Folgendes ein:SellEndDate >= SellStartDate
Wenn die Einträge in der Spalte
zip
aus fünf Ziffern bestehen sollen, müssen Sie Folgendes eingeben:zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
Hinweis
Achten Sie darauf, dass nichtnumerische Einschränkungswerte in einfache Anführungszeichen (
'
) eingeschlossen werden müssen.Wählen Sie OK aus.
In der Kategorie Identität können Sie den Namen der CHECK-Einschränkung ändern und eine Beschreibung (erweiterte Eigenschaft) für die Einschränkung hinzufügen.
In der Tabellen-Designer-Kategorie können Sie festlegen, unter welchen Bedingungen die Einschränkung erzwungen werden soll.
Aktion Wählen Sie Yes
für die folgenden Optionen:Einschränkung für Daten überprüfen, die vorhanden waren, bevor Sie die Einschränkung erstellt haben Vorhandene Daten bei Erstellung oder Reaktivierung überprüfen Die Einschränkung jedes Mal erzwingen, wenn ein Replikationsvorgang mit dieser Tabelle auftritt Für Replikation erzwingen Die Einschränkung jedes Mal erzwingen, wenn eine Zeile in diese Tabelle eingefügt wird oder darin aktualisiert wird Für INSERTs und UPDATEs erzwingen Wählen Sie Schließen aus.
Verwenden von Transact-SQL
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen.
Erstellen Sie zunächst die Einschränkung.
ALTER TABLE dbo.DocExc ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK ( ColumnD > 10 AND ColumnD < 50 ); GO
Um die Einschränkung zu testen, fügen Sie zuerst Werte hinzu, die die CHECK-Einschränkung bestehen.
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
Versuchen Sie als Nächstes, Werte hinzuzufügen, bei denen die CHECK-Einschränkung fehlschlägt.
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);
Zugehöriger Inhalt
- ALTER TABLE (Transact-SQL)
- ALTER TABLE column_constraint (Transact-SQL)
- UNIQUE-Einschränkungen und CHECK-Einschränkungen
- Spalteneigenschaften (Registerkarte „Allgemein“)
- Hinzufügen von Spalten zu einer Tabelle (Datenbank-Engine)
- Angeben von Standardwerten für Spalten
- Erstellen von Unique-Einschränkungen