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


