Erstellen von CHECK-Einschränkungen
Sie können mit SQL Server Management Studio oder Transact-SQL in einer Tabelle eine CHECK-Einschränkung erstellen, um die Datenwerte anzugeben, die in einer oder mehreren Spalten in SQL Server 2012 akzeptiert werden.
In diesem Thema
Vorbereitungen:
Sicherheit
So erstellen Sie eine neue CHECK-Einschränkung mit:
SQL Server Management Studio
Transact-SQL
Vorbereitungen
Sicherheit
Berechtigungen
Erfordert ALTER-Berechtigungen für die Tabelle.
[Top]
Mit SQL Server Management Studio
So erstellen Sie eine neue CHECK-Einschränkung
Erweitern Sie im Objekt-Explorer die Tabelle, der Sie eine UNIQUE-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 in 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 Tabelle Product auf einen Wert zu beschränken, der entweder größer oder gleich dem Datum in der Spalte SellStartDate ist oder ein NULL-Wert ist, geben Sie z. B. Folgendes ein:
SellEndDate >= SellStartDate OR SellEndDate IS NULL
Wenn die Einträge in der Spalte zip aus 5 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.
Klicken Sie auf OK.
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.
Zweck:
Wählen Sie in den folgenden Feldern Ja aus:
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
Klicken Sie auf Schließen.
[Top]
Mit Transact-SQL
So erstellen Sie eine neue CHECK-Einschränkung
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von Database Engine (Datenbankmodul) her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.
ALTER TABLE dbo.DocExc ADD ColumnD int NULL CONSTRAINT CHK_ColumnD_DocExc CHECK (ColumnD > 10 AND ColumnD < 50); GO -- Adding values that will pass the check constraint INSERT INTO dbo.DocExc (ColumnD) VALUES (49); GO -- Adding values that will fail the check constraint INSERT INTO dbo.DocExc (ColumnD) VALUES (55); GO
Weitere Informationen finden Sie unter ALTER TABLE (Transact-SQL).
[Top]