Vad är standardbegränsning i SQL Server :
Default Constraint infogar standardvärdet i en kolumn när du inte anger värde för kolumnen.Låt oss förstå genom att använda nedanstående exempel.
Scenario:
Låt oss säga att du behöver skapa en dbo.Customer-tabell med förnamn, efternamn, landsnamn och region. Om användaren inte anger värdena för Landnamn och Regionkolumner vill du alltid infoga Landnamn='USA' och för Region='Nordamerika'.Skript nedan kan användas för att skapa standardbegränsning för kolumner för landnamn och 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' )
Infoga nu ett par poster genom att tillhandahålla värden för alla kolumner genom att använda infogningssatser nedan.
--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
Sätt nu bara in värdena i kolumnerna Förnamn och Efternamn. Eftersom vi har skapat standardbegränsningen för landsnamn och region, bör den automatiskt infoga CountryName='USA' och Region='North America'.
Insert into dbo.Customer(FirstName,LastName) Values ('John','Smith') go Insert into dbo.Customer(FirstName,LastName) Values ('Christy','Ladson')
Låt oss kontrollera data i dbo.Customer-tabellen för att se till att våra standardbegränsningar fungerar som förväntat.
Select * from dbo.Customer
Hur man skapar standardbegränsning i SQL Server |
När vi skapade Default Constraints angav vi inget namn, låt oss kontrollera vilka namn SQL Server har gett dem genom att använda sys.objects
--Get the Constraint Names in SQL Server Select * from sys.objects where type_desc='DEFAULT_CONSTRAINT'
Hur man kontrollerar information om standardbegränsningar i SQL Server |
Om ditt företag använder vissa namnstandarder och du vill skapa standardbegränsningen med dessa standarder, kan du ange namnet när du skapar dem. Jag använder för att använda DF_SchemaName_TableName_ColumnName för mitt begränsningsnamn som visas nedan.
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')
Låt oss köra frågan på sys.objects en gång till för att få standardbegränsningsnamn med tabellnamn.
--Get the Constraint Names in SQL Server Select name,object_name(Parent_object_id) as TableName from sys.objects where type_desc='DEFAULT_CONSTRAINT'
Hur man skapar standardbegränsning med namn i SQL Server |
Videodemo :Vad är standardbegränsning i SQL Server och hur man skapar standardbegränsning