sql >> Databasteknik >  >> RDS >> Sqlserver

Vad är standardbegränsning i SQL Server - SQL Server / TSQL Tutorial Del 90

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






  1. Välj slumpmässig rad från en PostgreSQL-tabell med viktade radsannolikheter

  2. Rails 3.1:Fråga efter postgres inom ett tidsintervall

  3. grundläggande pyodbc bulkinsats

  4. Felsökning av SQL Server CPU-prestandaproblem