sql >> Database >  >> RDS >> Sqlserver

Hoe maak je een niet-null-beperking op een kolom in de SQL Server-tabel - SQL Server / T-SQL-zelfstudie, deel 51

Scenario:

U maakt een klantentabel voor een van uw vereisten, u wilt ervoor zorgen dat de kolom Voornaam altijd de waarde heeft. Hoe zorgt u ervoor dat de kolom Voornaam altijd de waarde heeft?


Oplossing:

Beperkingen gedefinieerde regels die ervoor zorgen dat de gegevens die we in de kolom invoegen de regels volgen.
Voor bovenstaande vereiste kunnen we een niet-null-beperking voor een kolom maken. Als de gebruiker zal proberen een rij in te voegen zonder de waarde op te geven voor de kolom waarop we de Not Null Constraint hebben gemaakt, zal het invoegen mislukken omdat de kolom geen Null-waarden kan accepteren.

Om Not Null Constraint te maken op Kolom in een tabel, we moeten Not Null toevoegen na het gegevenstype zoals hieronder wordt weergegeven voor de voornaamkolom.

Create Table Customer
(FirstName VARCHAR(50) Not Null,
LastName VARCHAR(50),
Age SmallInt,
PhoneNumber CHAR(9),
DOB Date,
Gender CHAR(1)
)
 U kunt zien dat ik geen niet-null-beperking heb opgegeven voor andere kolommen, wat betekent dat die kolom Null-waarden of onbekende waarden kan accepteren.

Laten we onderstaande rijen invoegen en kijken wat er gebeurt

insert into dbo.Customer ( FirstName,LastName,Age,PhoneNumber,DOB,Gender)
Values
('Aamir','Shahzad',Null,Null,Null,Null)
,(Null,'Raza',33,'00000000',Null,'M')
 Zoals u kunt zien is de transactie mislukt omdat we de Null in de Voornaam-kolom niet kunnen invoegen, er wordt geen record ingevoegd.


Hoe maak je een niet-null-beperking op een kolom in SQL Server - TSQL-zelfstudie
Laten we een tweede invoegtoepassing overwegen , Waar we niets invoegen in de kolom Voornaam. Toch zal het invoegen mislukken, omdat wanneer u de kolom niet opgeeft in de lijst met invoegen, het probeert een Null-waarde voor die kolom in te voegen en we hebben een niet-null-beperking voor de kolom Voornaam gemaakt.


insert into dbo.Customer (LastName,Age,PhoneNumber,DOB,Gender)
Values
('Raza',33,'00000000','2016-01-26','M')
 
 Hoe maak je een niet-null-beperking in SQL Server - SQL Server / TSQL-zelfstudie



  1. Hoe SQL-script in MySQL uit te voeren?

  2. Hoe bepaal ik de laatste dag van de vorige maand met PostgreSQL?

  3. Verbinding met Db sterft na>4<24 in spring-boot jpa-slaapstand

  4. Oracle gepartitioneerde volgorde