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

Was ist eine Standardeinschränkung in SQL Server - SQL Server / TSQL-Tutorial Teil 90

Was ist eine Standardeinschränkung in SQL Server:

Default Constraint fügt den Standardwert in eine Spalte ein, wenn Sie keinen Wert für die Spalte angeben.
Lassen Sie uns anhand der folgenden Beispiele verstehen.

Szenario:

Angenommen, Sie müssen eine dbo.Customer-Tabelle mit Vorname, Nachname, Ländername und Region erstellen. Wenn der Benutzer die Werte für die Spalten „Country Name“ und „Region“ nicht bereitstellt, möchten Sie immer Country Name='USA' und für Region='North America' einfügen.
Das folgende Skript kann verwendet werden, um eine Standardeinschränkung für die Spalten „Country Name“ und „Region“ zu erstellen.

USE YourDatabaseName
GO
CREATE TABLE dbo.Customer (
    FirstName VARCHAR(50)
    ,LastName VARCHAR(50)
    ,CountryName VARCHAR(50) DEFAULT 'USA'
    ,Region VARCHAR(50) DEFAULT 'North America'
    )



Fügen Sie nun einige Datensätze ein, indem Sie Werte für alle Spalten angeben, indem Sie die folgenden Insert-Anweisungen verwenden.
--Insert some sample data by provided CountryName and Region
Insert into dbo.Customer (FirstName,LastName,CountryName,Region)
Values('Aamir','Shahzad','Pakistan','Asia')
go
Insert into dbo.Customer (FirstName,LastName,CountryName,Region)
Values('Sukhjeet','Singh','India','Asia')
go


Fügen Sie jetzt nur die Werte in den Spalten Vorname und Nachname ein. Da wir die Standardeinschränkung für den Ländernamen und die Region erstellt haben, sollte sie automatisch CountryName='USA' und Region='North America' einfügen.
Insert into dbo.Customer(FirstName,LastName)
Values ('John','Smith')
go

Insert into dbo.Customer(FirstName,LastName)
Values ('Christy','Ladson')
 
 
 Lassen Sie uns die Daten in der Tabelle dbo.Customer überprüfen, um sicherzustellen, dass unsere Standardeinschränkungen wie erwartet funktionieren.
Select * from  dbo.Customer
 
So erstellen Sie eine Standardeinschränkung in SQL Server
 Als wir Standardeinschränkungen erstellt haben, haben wir keinen Namen angegeben. Lassen Sie uns überprüfen, welche Namen SQL Server ihnen gegeben hat, indem Sie sys.objects
--Get the Constraint Names in SQL Server
Select * from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
So überprüfen Sie Informationen zu Standardeinschränkungen in SQL Server
 Wenn Ihr Unternehmen einige Benennungsstandards verwendet und Sie die Standardeinschränkung mit diesen Standards erstellen möchten, können Sie den Namen beim Erstellen angeben. Ich verwende DF_SchemaName_TableName_ColumnName für meinen Einschränkungsnamen, wie unten gezeigt.
use YourDatabaseName
Go
Create Table dbo.tblCustomer
(
FirstName VARCHAR(50),
LastName VARCHAR(50),
CountryName VARCHAR(50) Constraint DF_dbo_tblCustomer_CountryName Default  'USA' ,
Region VARCHAR(50) Constraint  DF_dbo_tblCustomer_Region default 'North America')
 
Lassen Sie uns die Abfrage auf sys.objects noch einmal ausführen, um den Namen der Standardbeschränkung mit dem Tabellennamen zu erhalten.
--Get the Constraint Names in SQL Server
Select name,object_name(Parent_object_id) 
as TableName from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
So erstellen Sie eine Standardeinschränkung mit Namen in SQL Server
 
Videodemo:Was ist eine Standardeinschränkung in SQL Server und wie wird eine Standardeinschränkung erstellt