sql >> Databáze >  >> RDS >> Sqlserver

Jak vytvořit omezení Not Null ve sloupci v tabulce SQL Server - SQL Server / Výukový program T-SQL, část 51

Scénář:

Vytváříte tabulku zákazníků pro jeden z vašich požadavků, chcete se ujistit, že sloupec Jméno má vždy hodnotu. Jak zajistíte, aby sloupec Křestní jméno měl vždy hodnotu?


Řešení:

Omezení definovaná pravidla, která zajistí, aby data, která vkládáme do sloupce, dodržovala pravidla.
Pro výše uvedený požadavek můžeme vytvořit omezení Not Null pro sloupec, Not Null Constraint se ujistěte, že hodnota vložená do tohoto sloupce není Null. Pokud se uživatel pokusí vložit řádek bez zadání hodnoty pro sloupec, pro který jsme vytvořili omezení Not Null , vložení se nezdaří, protože sloupec nemůže přijmout hodnoty Null.

Chcete-li vytvořit omezení Not Null na Sloupec v tabulce musíme za typ dat přidat Not Null, jak je uvedeno níže pro sloupec Jméno.

Create Table Customer
(FirstName VARCHAR(50) Not Null,
LastName VARCHAR(50),
Age SmallInt,
PhoneNumber CHAR(9),
DOB Date,
Gender CHAR(1)
)
 Můžete vidět, že jsem nezadal omezení Not Null pro ostatní sloupce, to znamená, že tyto sloupce mohou přijímat hodnoty Null nebo Neznámou hodnotu.

Pojďme vložit řádky níže a uvidíme, co se stane

insert into dbo.Customer ( FirstName,LastName,Age,PhoneNumber,DOB,Gender)
Values
('Aamir','Shahzad',Null,Null,Null,Null)
,(Null,'Raza',33,'00000000',Null,'M')
 Jak můžete vidět, transakce se nezdařila, protože nemůžeme vložit sloupec Null do sloupce Jméno, nebude vložen žádný záznam.


Jak vytvořit omezení Not Null pro sloupec v SQL Server - TSQL výukový program
Uvažujme o druhém vložení , Kde do sloupce Jméno nic nevkládáme. Vložení se přesto nezdaří, protože když nezadáte sloupec v seznamu vložení, pokusí se pro tento sloupec vložit hodnotu Null a ve sloupci Jméno jsme vytvořili omezení Not Null.


insert into dbo.Customer (LastName,Age,PhoneNumber,DOB,Gender)
Values
('Raza',33,'00000000','2016-01-26','M')
 
 Jak vytvořit Not Null Constraint v SQL Server - SQL Server / Výukový program TSQL



  1. Nenechte se zmást bazénem streamů

  2. Funkce AVG() v MariaDB

  3. Jak vypsat cizí klíče tabulky

  4. Jak zvýšit výkon pro hromadné INSERTy do propojených tabulek ODBC v Accessu?