Scenario:
Stai lavorando come sviluppatore SQL Server, stai preparando script per creare tabelle nel database. Come parte di questi script è necessario creare Check Constraints ma si desidera seguire gli standard di denominazione dell'azienda per Check Constraints. Come aggiungeresti Check Constraint Name nei tuoi script.Soluzione:
SQL Server assegna automaticamente il nome a Check Constraint se non lo forniamo. Eseguiamo lo script seguente e vediamo quale nome SQL Server assegna a Check Constraint quando non forniamo il nome. Nell'esempio seguente stiamo creando Check Constraint su FName e assicurandoci che accetti solo alfabeti.--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]%') )
Possiamo utilizzare le viste di sistema per raccogliere informazioni relative a Check Constraints.
--How to get Check Constraints in SQL Server SELECT * FROM INFORMATION_SCHEMA.Check_Constraints
Come creare un vincolo di controllo in SQL Server con il nome predefinito |
Diciamo che il nome SQL Server fornito a Check Constraint non è conforme ai nostri standard aziendali. I nostri standard dicono che il Check Constraint dovrebbe seguire il modello seguente
Inizia con Chk_SchemaName_TableName_ColumnName_CheckConstraintDescription. Per aggiungere un vincolo di controllo , la tua sintassi sarà
Constraint Constraint_Name Verifica 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]%') )
Eseguire la query di selezione nella vista di sistema per ottenere le informazioni sui vincoli di controllo. Suggerisco di creare oggetti con qualche convenzione o standard di denominazione invece di lasciare che il server sql decida il nome per i tuoi oggetti.
Come creare un vincolo di controllo fornendo un nome in base agli standard della tua azienda in SQL Server |
Video demo:come creare vincoli di controllo utilizzando la convenzione di denominazione in SQL Server