Freigeben über


Erstellen von CHECK-Einschränkungen

Sie können eine Check-Einschränkung in einer Tabelle erstellen, um die Datenwerte anzugeben, die in einer oder mehreren Spalten in SQL Server 2014 zulässig sind, indem Sie SQL Server Management Studio oder Transact-SQL verwenden.

In diesem Thema

Vorbereitungen

Sicherheit

Berechtigungen

Erfordert ALTER-Berechtigungen für die Tabelle.

Verwendung von SQL Server Management Studio

So erstellen Sie eine neue CHECK-Einschränkung

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

  2. Klicken Sie im Dialogfeld Einschränkungen überprüfen auf 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]'  
    

    Hinweis

    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.

    In: 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.

Verwenden von Transact-SQL

So erstellen Sie eine neue CHECK-Einschränkung

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz 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).