sql >> Database teknologi >  >> RDS >> Sqlserver

Hvad er standardbegrænsning i SQL Server - SQL Server / TSQL vejledning del 90

Hvad er standardbegrænsning i SQL Server :

Default Constraint indsætter standardværdien i en kolonne, når du ikke angiver værdi for kolonne.
Lad os forstå det ved at bruge nedenstående eksempler.

Scenarie:

Lad os sige, at du skal oprette en dbo.Customer-tabel med Fornavn, Efternavn, Landenavn og Region. Hvis brugeren ikke angiver værdierne for Landenavn og Regionskolonner, vil du altid indsætte Landenavn='USA' og for Region='Nordamerika'.
Nedenstående script kan bruges til at oprette standardbegrænsning for kolonnerne Landenavn og Region.

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



Indsæt nu et par poster ved at angive værdier for alle kolonnerne ved at bruge nedenstående indsæt-sætninger.
--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


Indsæt nu kun værdierne i kolonnerne Fornavn og Efternavn. Da vi har oprettet standardbegrænsningen for landenavn og region, bør den automatisk indsætte CountryName='USA' og Region='North America'.
Insert into dbo.Customer(FirstName,LastName)
Values ('John','Smith')
go

Insert into dbo.Customer(FirstName,LastName)
Values ('Christy','Ladson')
 
 
 Lad os tjekke dataene i dbo.Customer-tabellen for at sikre, at vores standardbegrænsninger fungerer som forventet.
Select * from  dbo.Customer
 
Sådan opretter du standardbegrænsninger i SQL Server
 Da vi oprettede Default Constraints, angav vi ikke noget navn, lad os tjekke hvilke navne SQL Server har givet dem ved at bruge sys.objects
--Get the Constraint Names in SQL Server
Select * from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
Sådan kontrolleres oplysninger om standardbegrænsninger i SQL Server
 Hvis din virksomhed bruger nogle navnestandarder, og du gerne vil oprette standardbegrænsningen med disse standarder, kan du angive navnet, mens du opretter dem. Jeg bruger til at bruge DF_SchemaName_TableName_ColumnName til mit begrænsningsnavn som vist nedenfor.
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')
 
Lad os køre forespørgslen på sys.objects endnu en gang for at få standardbegrænsningsnavn med tabelnavn.
--Get the Constraint Names in SQL Server
Select name,object_name(Parent_object_id) 
as TableName from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
Sådan opretter du standardbegrænsning med navn i SQL Server
 
Videodemo :Hvad er standardbegrænsning i SQL Server, og hvordan oprettes standardbegrænsning






  1. Postgresql -bash:psql:kommando blev ikke fundet

  2. Hvordan reparerer jeg en InnoDB-tabel?

  3. Logger du ALLE forespørgsler på en SQL Server 2008 Express-database?

  4. Sådan fungerer OCTET_LENGTH()-funktionen i MySQL