Scénář:
Pracujete jako vývojář SQL Sever, připravujete skripty pro vytváření tabulek v databázi. Jako součást těchto skriptů musíte vytvořit Kontrolní omezení, ale chcete se řídit firemními standardy pro pojmenování Kontrolních omezení. Jak byste do svých skriptů přidali název kontroly omezení.Řešení:
SQL Server automaticky pojmenuje Check Constraint, pokud neposkytneme. Spusťte níže uvedený skript a uvidíme, jaký název SQL Server přiřadí Check Constraint, když nezadáme název. V níže uvedeném příkladu vytváříme Check Constraint na FName a ujišťujeme se, že přijímá pouze abecedy.--Create Table with Check Constraint use YourDatabaseName go Create table dbo.Customer ( FName VARCHAR(100) Not Null, LName VARCHAR(100), StreetAddress VARCHAR(255), Check (FName not like '%[^a-z]%') )
Můžeme použít systémová zobrazení ke shromažďování informací souvisejících s Check Constraints.
--How to get Check Constraints in SQL Server SELECT * FROM INFORMATION_SCHEMA.Check_Constraints
Jak vytvořit kontrolní omezení na serveru SQL Server s výchozím názvem |
Řekněme, že název SQL Server poskytnutý Check Constraint není v souladu s našimi firemními standardy. Naše standardy říkají, že kontrolní omezení by mělo následovat níže uvedený vzor
Začněte s Chk_SchemaName_TableName_ColumnName_CheckConstraintDescription. Chcete-li přidat kontrolní omezení , vaše syntaxe bude
Constraint Constraint_Name Check LogicForCheckConstraint.
--Create Table with Check Constraint use YourDatabaseName go Create table dbo.Customer ( FName VARCHAR(100) Not Null, LName VARCHAR(100), StreetAddress VARCHAR(255), Constraint Chk_dbo_Customer_FName_AlphabetsOnly Check (FName not like '%[^a-z]%') )
Spusťte výběrový dotaz v systémovém zobrazení a získejte informace o kontrole omezení. Navrhuji vytvářet objekty s nějakou konvencí pojmenování nebo standardy místo toho, aby o jménu vašich objektů rozhodoval server SQL.
Jak vytvořit kontrolní omezení zadáním názvu podle standardů vaší společnosti na serveru SQL Server |
Video ukázka:Jak vytvořit kontrolní omezení pomocí konvence pojmenování v SQL Server