O que é Restrição Padrão no SQL Server:
A restrição padrão insere o valor padrão em uma coluna quando você não fornece valor para a coluna.Vamos entender usando os exemplos abaixo.
Cenário:
Digamos que você precise criar uma tabela dbo.Customer com Nome, Sobrenome, Nome do País e Região. Se o usuário não fornecer os valores para Colunas de Nome do País e Região, você sempre deseja inserir Nome do País='EUA' e para Região='América do Norte'.O script abaixo pode ser usado para criar Restrição Padrão para as colunas Nome do País e Região.
USE YourDatabaseName
GO
CREATE TABLE dbo.Customer (
FirstName VARCHAR(50)
,LastName VARCHAR(50)
,CountryName VARCHAR(50) DEFAULT 'USA'
,Region VARCHAR(50) DEFAULT 'North America'
) Agora insira alguns registros fornecendo valores para todas as colunas usando as instruções de inserção abaixo.
--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 Agora insira apenas os valores nas colunas Nome e Sobrenome. Como criamos a Restrição Padrão no Nome do País e Região, ela deve inserir automaticamente CountryName='USA' e Region='North America'.
Insert into dbo.Customer(FirstName,LastName)
Values ('John','Smith')
go
Insert into dbo.Customer(FirstName,LastName)
Values ('Christy','Ladson') Vamos verificar os dados na tabela dbo.Customer para garantir que nossas restrições padrão estejam funcionando conforme o esperado.
Select * from dbo.Customer
![]() |
| Como criar uma restrição padrão no SQL Server |
Quando criamos Default Constraints, não fornecemos nenhum nome, vamos verificar quais nomes o SQL Server deu a eles usando sys.objects
--Get the Constraint Names in SQL Server Select * from sys.objects where type_desc='DEFAULT_CONSTRAINT'
![]() |
| Como verificar as informações de restrições padrão no SQL Server |
Se sua empresa estiver usando alguns padrões de nomenclatura e você quiser criar a restrição padrão com esses padrões, especifique o nome ao criá-los. Estou usando para usar DF_SchemaName_TableName_ColumnName para meu nome de restrição conforme mostrado abaixo.
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')
Vamos executar a consulta em sys.objects mais uma vez para obter o nome de restrição padrão com o nome da tabela.
--Get the Constraint Names in SQL Server Select name,object_name(Parent_object_id) as TableName from sys.objects where type_desc='DEFAULT_CONSTRAINT'
![]() |
| Como criar uma restrição padrão com nome no SQL Server |
Demonstração em vídeo:o que é restrição padrão no SQL Server e como criar restrição padrão


