Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
V tabulce můžete vytvořit omezení kontroly, které určuje hodnoty dat, které jsou přijatelné v jednom nebo více sloupcích SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Další informace o přidávání omezení sloupců naleznete v tématu ALTER TABLE column_constraint.
Další informace najdete v tématu Jedinečná omezení a kontrolní omezení.
Remarks
Pokud chcete dotazovat existující omezení kontroly, použijte zobrazení sys.check_constraints systémového katalogu.
Permissions
Vyžaduje oprávnění ALTER na tabulce.
Použití aplikace SQL Server Management Studio
V Průzkumníku objektůrozbalte tabulku, ke které chcete přidat kontrolní omezení, klikněte pravým tlačítkem na Omezení a vyberte Nové omezení.
V dialogovém okně Kontrola omezení vyberte pole Výraz a potom vyberte tři tečky (...).
V dialogovém okně Check Constraint Expression zadejte výrazy SQL pro omezení kontroly. Pokud chcete například omezit položky ve sloupci
SellEndDatetabulkyProductna hodnotu, která je větší nebo rovna datu ve sloupciSellStartDatenebo jeNULLhodnota, zadejte:SellEndDate >= SellStartDatePokud chcete, aby položky ve sloupci
zipbyly pěticiferné, zadejte:zip LIKE '[0-9][0-9][0-9][0-9][0-9]'Note
Nezapomeňte uzavřít všechny nečíselné hodnoty omezení do jednoduchých uvozovek (
').Vyberte OK.
V kategorii Identity můžete změnit název omezení kontroly a přidat popis (rozšířenou vlastnost) omezení.
V kategorii Návrhář tabulky můžete nastavit, kdy je uplatněno omezení.
Action Pro následující možnosti vyberte Yes.Otestujte omezení dat, která existovala před vytvořením omezení. Kontrola existujících dat při vytváření nebo aktivaci Vynucení omezení při každé operaci replikace v této tabulce Prosadit pro replikaci Vynucení omezení při každém vložení nebo aktualizaci řádku této tabulky Vynucení pro INSERT a UPDATE Vyberte Zavřít.
Použijte Transact-SQL
V Průzkumníku objektůse připojte k instanci databázového serveru.
Na panelu Standard vyberte Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit.
Nejprve vytvořte omezení.
ALTER TABLE dbo.DocExc ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK ( ColumnD > 10 AND ColumnD < 50 ); GOChcete-li otestovat omezení, nejprve přidejte hodnoty, které splňují omezující podmínku.
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);Dále se pokuste přidat hodnoty, které nesplní omezení kontroly.
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);