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