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