Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como criar uma restrição não nula na coluna na tabela do SQL Server - SQL Server / T-SQL Tutorial Parte 51

Cenário:

Você está criando uma tabela de clientes para um de seus requisitos, deseja garantir que a Coluna de nome sempre tenha o valor. Como você garantirá que a coluna de nome sempre tenha o valor?


Solução:

Restrições definidas regras que garantem que os dados inseridos na coluna sigam as regras.
Para o requisito acima, podemos criar uma restrição Not Null em uma coluna, Not Null Constraint certifique-se de que o valor inserido nessa coluna não seja Null. Se o usuário tentar inserir uma linha sem fornecer o valor para a coluna na qual criamos a restrição Not Null , a inserção falhará porque a coluna não pode aceitar valores nulos.

Para criar uma restrição Not Null on Coluna em uma tabela, temos que adicionar não nulo após o tipo de dados, conforme mostrado abaixo para a coluna de nome.

Create Table Customer
(FirstName VARCHAR(50) Not Null,
LastName VARCHAR(50),
Age SmallInt,
PhoneNumber CHAR(9),
DOB Date,
Gender CHAR(1)
)
 Você pode ver que eu não forneci Restrição Not Null para outras colunas, isso significa que essas colunas podem aceitar valores Null ou Unknown value.

Vamos inserir as linhas abaixo e ver o que acontece

insert into dbo.Customer ( FirstName,LastName,Age,PhoneNumber,DOB,Gender)
Values
('Aamir','Shahzad',Null,Null,Null,Null)
,(Null,'Raza',33,'00000000',Null,'M')
 Como você pode ver que a transação falhou, pois não podemos inserir a coluna Null in First Name, nenhum registro será inserido.


Como criar uma restrição não nula em uma coluna no SQL Server - Tutorial TSQL
Vamos considerar a segunda inserção , Onde não estamos inserindo nada na coluna Nome. Ainda assim, a inserção falhará, pois quando você não fornece a coluna na lista de inserção, ela tenta inserir um valor nulo para essa coluna e criamos uma restrição não nula na coluna Nome.


insert into dbo.Customer (LastName,Age,PhoneNumber,DOB,Gender)
Values
('Raza',33,'00000000','2016-01-26','M')
 
 Como criar uma restrição não nula no SQL Server - Tutorial SQL Server / TSQL