Freigeben über


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.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Mit SQL Server Management Studio

So erstellen Sie eine neue CHECK-Einschränkung

  1. 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.

  2. Klicken Sie im Dialogfeld Einschränkungen überprüfen in das Feld Ausdruck und dann auf die Auslassungspunkte (…).

  3. 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]'
    
    HinweisHinweis

    Achten Sie darauf, dass nichtnumerische Einschränkungswerte in einfache Anführungszeichen (') eingeschlossen werden müssen.

  4. Klicken Sie auf OK.

  5. 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.

  6. 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

  7. Klicken Sie auf Schließen.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Mit Transact-SQL

So erstellen Sie eine neue CHECK-Einschränkung

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von Database Engine (Datenbankmodul) her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. 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).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]