sql >> Databáze >  >> RDS >> Sqlserver

Jak vytvořit kontrolní omezení na jednom sloupci v SQL Server - SQL Server / TSQL výukový program, část 83

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

  1. gem install pg --with-pg-config funguje, balíček selže

  2. Funkce RPAD() v PostgreSQL

  3. MySQL vyhledávání v seznamu čárek

  4. Jak napsat dotaz, který dělá něco podobného jako GROUP_CONCAT MySQL v Oracle?