Händelser
31 mars 23 - 2 apr. 23
Det största utbildningsevenemanget för SQL, Fabric och Power BI. 31 mars – 2 april. Använd koden FABINSIDER för att spara 400 USD.
Anmäl dig i dagDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Du kan skapa en kontrollbegränsning i en tabell för att ange de datavärden som är godtagbara i en eller flera kolumner i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Mer information om hur du lägger till kolumnbegränsningar finns i ALTER TABLE column_constraint.
Mer information finns i Unika begränsningar och kontrollbegränsningar.
För att fråga om befintliga kontrollbegränsningar, använd systemkatalogvyn sys.check_constraints.
Kräver ALTER
behörigheter för tabellen.
I Object Explorerexpanderar du tabellen som du vill lägga till en kontrollbegränsning i, högerklickar på Begränsningar och väljer Ny begränsning.
I dialogrutan Kontrollera begränsningar väljer du i fältet Uttryck och sedan väljer du ellipsen (...).
I dialogrutan Kontrollvillkorsuttryck skriver du SQL-uttrycken för kontrollvillkoret. Om du till exempel vill begränsa posterna i kolumnen SellEndDate
i tabellen Product
till ett värde som antingen är större än eller lika med datumet i kolumnen SellStartDate
eller är ett NULL
värde skriver du:
SellEndDate >= SellStartDate
Om du vill kräva att poster i kolumnen zip
ska vara fem siffror skriver du:
zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
Anteckning
Se till att omsluta icke-numeriska villkorsvärden inom enkla citattecken ('
).
Välj OK.
I kategorin Identity kan du ändra namnet på kontrollvillkoret och lägga till en beskrivning (utökad egenskap) för villkoret.
I kategorin Table Designer kan du ange när villkoret tillämpas.
Åtgärd | Välj Yes för följande alternativ |
---|---|
Testa begränsningen för data som fanns innan du skapade villkoret | kontrollera befintliga data när du skapar eller aktiverar |
Framtvinga villkoret när en replikeringsåtgärd inträffar i den här tabellen | Framtvinga för replikering |
Framtvinga villkoret när en rad i den här tabellen infogas eller uppdateras | Tillämpa för INSERTs och UPDATEs |
Välj Stäng.
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör.
Skapa först villkoret.
ALTER TABLE dbo.DocExc
ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK (
ColumnD > 10
AND ColumnD < 50
);
GO
Om du vill testa villkoret lägger du först till värden som klarar kontrollvillkoret.
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
Försök sedan att lägga till värden som inte uppfyller kontrollvillkoret.
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);
Händelser
31 mars 23 - 2 apr. 23
Det största utbildningsevenemanget för SQL, Fabric och Power BI. 31 mars – 2 april. Använd koden FABINSIDER för att spara 400 USD.
Anmäl dig i dagUtbildning
Modul
Skapa tabeller, vyer och temporära objekt - Training
Det här innehållet är en del av Skapa tabeller, vyer och temporära objekt.
Dokumentation
Unika begränsningar och kontrollbegränsningar - SQL Server
UNIKA begränsningar och CHECK-begränsningar är två typer av begränsningar som kan användas för att framtvinga dataintegritet.
Skapa unika begränsningar - SQL Server
Den här artikeln visar hur du skapar unika begränsningar med SQL Server Management Studio och Transact-SQL.
Ta bort kontrollbegränsningar - SQL Server
Ta bort kontrollbegränsningar