Scenarie:
Du opretter kundetabel til et af dine krav, du vil sikre dig, at kolonnen Fornavn altid har værdien. Hvordan vil du sikre dig, at kolonnen Fornavn altid har værdien?
Løsning:
Begrænsninger definerede regler, som sikrer, at de data, vi indsætter i kolonnen, følger reglerne.For ovenstående krav kan vi oprette Ikke Null-begrænsning på en kolonne, Ikke Null-begrænsning sørg for, at værdien, der er indsat i den kolonne, ikke er Null. Hvis brugeren vil forsøge at indsætte række uden at angive værdien for den kolonne, som vi har oprettet Not Null Constraint , vil indsættelsen mislykkes, da kolonnen ikke kan acceptere Null-værdier.
For at oprette Not Null Constraint på Kolonne i en tabel, vi skal tilføje Not Null efter datatypen som vist nedenfor for kolonnen Fornavn.
Create Table Customer (FirstName VARCHAR(50) Not Null, LastName VARCHAR(50), Age SmallInt, PhoneNumber CHAR(9), DOB Date, Gender CHAR(1) )Du kan se, at jeg ikke har angivet Not Null Constraint for andre kolonner, det betyder, at disse kolonner kan acceptere Null-værdier eller Ukendt værdi.
Lad os indsætte rækkerne nedenfor og se, hvad der sker
insert into dbo.Customer ( FirstName,LastName,Age,PhoneNumber,DOB,Gender) Values ('Aamir','Shahzad',Null,Null,Null,Null) ,(Null,'Raza',33,'00000000',Null,'M')Da du kan se, at transaktionen mislykkedes, da vi ikke kan indsætte Null i kolonnen Fornavn, vil No Record blive indsat.
Sådan opretter du ikke null-begrænsning på en kolonne i SQL Server - TSQL-vejledning
Lad os overveje anden Insert , Hvor vi ikke indsætter noget i kolonnen Fornavn. Indsættelsen vil stadig mislykkes, da når du ikke angiver kolonnen i indsætningslisten, forsøger den at indsætte Null-værdi for den kolonne, og vi har oprettet Ikke Null-begrænsning på kolonnen for fornavn.
insert into dbo.Customer (LastName,Age,PhoneNumber,DOB,Gender) Values ('Raza',33,'00000000','2016-01-26','M')Sådan opretter du Not Null Constraint i SQL Server - SQL Server / TSQL Tutorial