sql >> Database >  >> RDS >> Sqlserver

Wat is de standaardbeperking in SQL Server - SQL Server / TSQL-zelfstudie, deel 90

Wat is de standaardbeperking in SQL Server :

Standaardbeperking voegt de standaardwaarde in een kolom in wanneer u geen waarde voor kolom opgeeft.
Laten we het begrijpen door onderstaande voorbeelden te gebruiken.

Scenario:

Stel dat u een dbo.Klanttabel moet maken met Voornaam, Achternaam, Landnaam en Regio. Als de gebruiker de waarden voor Country Name en Region Columns niet opgeeft, wilt u altijd Country Name='USA' en voor Region='North America' invoegen.
Het onderstaande script kan worden gebruikt om een ​​standaardbeperking voor de kolommen Landnaam en Regio te maken.

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



Voer nu een paar records in door waarden voor alle kolommen op te geven met behulp van onderstaande invoeginstructies.
--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


Voer nu alleen de waarden in de kolommen Voornaam en Achternaam in. Aangezien we de standaardbeperking voor landnaam en regio hebben gemaakt, moet deze automatisch CountryName='USA' en Region='North America' invoegen.
Insert into dbo.Customer(FirstName,LastName)
Values ('John','Smith')
go

Insert into dbo.Customer(FirstName,LastName)
Values ('Christy','Ladson')
 
 
 Laten we de gegevens in de tabel dbo.Customer controleren om er zeker van te zijn dat onze standaardbeperkingen werken zoals verwacht.
Select * from  dbo.Customer
 
Standaardbeperking in SQL Server maken
 Toen we Default Constraints maakten, hebben we geen naam gegeven. Laten we eens kijken welke namen SQL Server ze heeft gegeven met behulp van sys.objects
--Get the Constraint Names in SQL Server
Select * from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
De informatie over de standaardbeperkingen in SQL Server controleren
 Als uw bedrijf bepaalde naamgevingsnormen gebruikt en u wilt de standaardbeperking met die normen maken, kunt u de naam opgeven tijdens het maken ervan. Ik gebruik om DF_SchemaName_TableName_ColumnName te gebruiken voor mijn beperkingsnaam zoals hieronder weergegeven.
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')
 
Laten we de query nog een keer uitvoeren op sys.objects om de naam van de standaardbeperking met tabelnaam te krijgen.
--Get the Constraint Names in SQL Server
Select name,object_name(Parent_object_id) 
as TableName from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
Standaardbeperking met naam maken in SQL Server
 
Videodemo:wat is de standaardbeperking in SQL Server en hoe u een standaardbeperking maakt






  1. SQL Server-query:snel met letterlijk maar traag met variabelen

  2. ATN2() Voorbeelden in SQL Server

  3. Percona Live Dublin - Evenementoverzicht en onze sessies

  4. SQLite - Gegevens exporteren naar een CSV-bestand