Delen via


Controlebeperkingen maken

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

U kunt een controlebeperking in een tabel maken om de gegevenswaarden op te geven die acceptabel zijn in een of meer kolommen in SQL Server met behulp van SQL Server Management Studio of Transact-SQL. Zie ALTER TABLE column_constraintvoor meer informatie over het toevoegen van kolombeperkingen.

Zie Unieke beperkingen en controleer beperkingenvoor meer informatie.

Opmerkingen

Als u query's wilt uitvoeren op bestaande controlebeperkingen, gebruikt u de sys.check_constraints systeemcatalogusweergave.

Machtigingen

Vereist ALTER machtigingen voor de tabel.

SQL Server Management Studio gebruiken

  1. Vouw in Objectverkennerde tabel uit waaraan u een controlebeperking wilt toevoegen, klik met de rechtermuisknop op Beperkingen en selecteer Nieuwe beperking.

  2. Selecteer in het dialoogvenster Beperkingen controleren in het veld Expressie en selecteer vervolgens het beletselteken (...).

  3. Typ in het dialoogvenster Check Constraint-Expressie de SQL-expressies voor de checkbeperking. Als u bijvoorbeeld de vermeldingen in de kolom SellEndDate van de Product tabel wilt beperken tot een waarde die groter is dan of gelijk is aan de datum in de kolom SellStartDate, of een NULL waarde, typt u:

    SellEndDate >= SellStartDate
    

    Als u wilt dat vermeldingen in de kolom zip vijf cijfers zijn, typt u:

    zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
    

    Notitie

    Zorg ervoor dat u niet-numerieke beperkingswaarden tussen enkele aanhalingstekens (') plaatst.

  4. Selecteer OK-.

  5. In de categorie Identiteit kunt u de naam van de controlebeperking wijzigen en een beschrijving (uitgebreide eigenschap) toevoegen voor de beperking.

  6. In de Tabelontwerper categorie kunt u instellen wanneer de beperking wordt afgedwongen.

    Actie Selecteer Yes voor de volgende opties
    De beperking testen op gegevens die bestonden voordat u de beperking hebt gemaakt bestaande gegevens controleren bij het maken of inschakelen van
    De beperking afdwingen wanneer er een replicatiebewerking plaatsvindt in deze tabel Handhaven ten behoeve van replicatie
    De beperking afdwingen wanneer een rij van deze tabel wordt ingevoegd of bijgewerkt afdwingen voor INSERTs en UPDATEs
  7. Selecteer Sluiten.

Gebruik Transact-SQL

  1. Maak in Objectverkennerverbinding met een exemplaar van Database Engine.

  2. Selecteer op de standaardbalk Nieuwe query.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren.

    Maak eerst de beperking.

    ALTER TABLE dbo.DocExc
    ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK (
        ColumnD > 10
        AND ColumnD < 50
    );
    GO
    

    Als u de beperking wilt testen, voegt u eerst waarden toe die voldoen aan de controlebeperking.

    INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
    

    Probeer vervolgens waarden toe te voegen die de controlebeperking overtreden.

    INSERT INTO dbo.DocExc (ColumnD) VALUES (55);