Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erstellen Sie Check Constraint für eine einzelne Spalte in SQL Server - SQL Server / TSQL-Tutorial Teil 83

Szenario :

Sie arbeiten als SQL Server-Entwickler. Sie bereiten Skripte zum Erstellen von Tabellen in der Datenbank vor. Als Teil dieser Skripte müssen Sie Check Constraints erstellen, aber Sie möchten die Benennungsstandards des Unternehmens für Check Constraints befolgen. Wie würden Sie Check Constraint Name in Ihren Skripten hinzufügen.

Lösung:

SQL Server gibt Check Constraint automatisch einen Namen, wenn wir keinen angeben. Lassen Sie uns das folgende Skript ausführen und sehen, welchen Namen SQL Server Check Constraint zuweist, wenn wir den Namen nicht angeben. Im folgenden Beispiel erstellen wir Check Constraint für FName und stellen sicher, dass nur Alphabete akzeptiert werden.

--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]%')
)
 
 Wir können Systemansichten verwenden, um Informationen zu Check Constraints zu sammeln.
--How to get Check Constraints in SQL Server
SELECT
    * 
    FROM INFORMATION_SCHEMA.Check_Constraints
 
 
Erstellen einer Check Constraint in SQL Server mit Standardnamen
 
Nehmen wir an, dass der für Check Constraint angegebene Name SQL Server nicht unseren Unternehmensstandards entspricht. Unsere Standards besagen, dass die Check Constraint dem folgenden Muster folgen sollte
Beginnen Sie mit Chk_SchemaName_TableName_ColumnName_CheckConstraintDescription. Um eine Check Constraint hinzuzufügen, lautet Ihre Syntax
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]%')
)
 
 Führen Sie die Auswahlabfrage in der Systemansicht aus, um Informationen zu Check Constraints zu erhalten. Ich schlage vor, Objekte mit einigen Namenskonventionen oder -standards zu erstellen, anstatt den SQL-Server den Namen für Ihre Objekte bestimmen zu lassen.
So erstellen Sie Check Constraints, indem Sie einen Namen gemäß Ihren Unternehmensstandards in SQL Server angeben


Video-Demo:So erstellen Sie eine Check-Einschränkung mithilfe der Namenskonvention in SQL Server