Controlebeperkingen maken
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-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
Vouw in Objectverkennerde tabel uit waaraan u een controlebeperking wilt toevoegen, klik met de rechtermuisknop op Beperkingen en selecteer Nieuwe beperking.
Selecteer in het dialoogvenster Beperkingen controleren in het veld Expressie en selecteer vervolgens het beletselteken (...).
Typ in het dialoogvenster Check Constraint-Expressie de SQL-expressies voor de checkbeperking. Als u bijvoorbeeld de vermeldingen in de kolom
SellEndDate
van deProduct
tabel wilt beperken tot een waarde die groter is dan of gelijk is aan de datum in de kolomSellStartDate
, of eenNULL
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.Selecteer OK-.
In de categorie Identiteit kunt u de naam van de controlebeperking wijzigen en een beschrijving (uitgebreide eigenschap) toevoegen voor de beperking.
In de Tabelontwerper categorie kunt u instellen wanneer de beperking wordt afgedwongen.
Actie Selecteer Yes
voor de volgende optiesDe 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 Selecteer Sluiten.
Gebruik Transact-SQL
Maak in Objectverkennerverbinding met een exemplaar van Database Engine.
Selecteer op de standaardbalk Nieuwe query.
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);