Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como criar restrição de verificação em coluna única no SQL Server - Tutorial SQL Server / TSQL Parte 83

Cenário:

Você está trabalhando como desenvolvedor SQL Server, você está preparando scripts para criar tabelas no banco de dados. Como parte desses scripts, você precisa criar Check Constraints, mas deseja seguir os padrões de nomenclatura da empresa para Check Constraints. Como você adicionaria Check Constraint Name em seus scripts.

Solução:

O SQL Server dá nome automaticamente a Check Constraint se não fornecermos. Vamos executar o script abaixo e ver qual nome o SQL Server atribui a Check Constraint quando não fornecemos o nome. No exemplo abaixo, estamos criando Check Constraint em FName e certificando-nos de que ele só aceita alfabetos.

--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]%')
)
 
 Podemos usar visualizações do sistema para coletar informações relacionadas a Check Constraints.
--How to get Check Constraints in SQL Server
SELECT
    * 
    FROM INFORMATION_SCHEMA.Check_Constraints
 
 
Como criar uma restrição de verificação no SQL Server com o nome padrão
 
Digamos que o nome SQL Server fornecido para Check Constraint não esteja de acordo com os padrões da nossa empresa. Nossos padrões dizem que a Check Constraint deve seguir o padrão abaixo
Comece com Chk_SchemaName_TableName_ColumnName_CheckConstraintDescription. Para adicionar uma Check Constraint , sua sintaxe será
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]%')
)
 
 Execute a consulta de seleção na visualização do sistema para obter informações de verificação de restrição. Sugiro criar objetos com alguma convenção de nomenclatura ou padrões em vez de deixar o servidor sql decidir o nome dos seus objetos.
Como criar Check Constraint fornecendo o nome de acordo com os padrões da sua empresa no SQL Server


Demonstração de vídeo:como criar restrição de verificação usando convenção de nomenclatura no SQL Server