Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak utworzyć niezerowe ograniczenie w kolumnie w tabeli SQL Server — samouczek SQL Server / T-SQL, część 51

Scenariusz:

Tworzysz tabelę klientów dla jednego ze swoich wymagań, chcesz się upewnić, że kolumna Imię zawsze ma wartość. W jaki sposób upewnisz się, że kolumna imienia zawsze będzie miała wartość?


Rozwiązanie:

Ograniczenia zdefiniowane reguły, które zapewniają, że dane, które wstawiamy w kolumnie są zgodne z regułami.
Dla powyższego wymagania możemy utworzyć ograniczenie Nie Null dla kolumny, Ograniczenie Nie Null, upewnij się, że wartość wstawiona do tej kolumny nie jest Null. Jeśli użytkownik spróbuje wstawić wiersz bez podania wartości dla kolumny, dla której utworzyliśmy ograniczenie Not Null , wstawienie nie powiedzie się, ponieważ kolumna nie może zaakceptować wartości Null.

Aby utworzyć ograniczenie Not Null na Kolumna w tabeli, musimy dodać wartość Not Null po typie danych, jak pokazano poniżej dla kolumny First Name.

Create Table Customer
(FirstName VARCHAR(50) Not Null,
LastName VARCHAR(50),
Age SmallInt,
PhoneNumber CHAR(9),
DOB Date,
Gender CHAR(1)
)
 Widać, że nie podałem ograniczenia Not Null dla innych kolumn, co oznacza, że ​​te kolumny mogą akceptować wartości Null lub Unknown.

Wstawmy poniżej wiersze i zobaczmy, co się stanie

insert into dbo.Customer ( FirstName,LastName,Age,PhoneNumber,DOB,Gender)
Values
('Aamir','Shahzad',Null,Null,Null,Null)
,(Null,'Raza',33,'00000000',Null,'M')
 Jak widać, transakcja nie powiodła się, ponieważ nie możemy wstawić kolumny Null w imieniu, No Record zostanie wstawiony.


Jak utworzyć ograniczenie niezerowe w kolumnie w SQL Server — samouczek TSQL
Rozważmy drugą wstawkę , gdzie nie wstawiamy niczego w kolumnie Imię. Mimo to wstawianie nie powiedzie się, ponieważ gdy nie podasz kolumny na liście wstawiania, spróbuje ona wstawić wartość Null dla tej kolumny i utworzyliśmy ograniczenie Not Null w kolumnie Imię.


insert into dbo.Customer (LastName,Age,PhoneNumber,DOB,Gender)
Values
('Raza',33,'00000000','2016-01-26','M')
 
 Jak utworzyć ograniczenie niezerowe w programie SQL Server — samouczek dotyczący programu SQL Server / TSQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wartość pola Concat do ciągu w SQL Server

  2. Pakiet SSIS nie chce pobierać metadanych tabeli tymczasowej

  3. LOG() Przykłady w SQL Server

  4. Jak przekonwertować DateTime na VarChar

  5. Replikacja bazy danych SQL Server