sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo crear una restricción no nula en la columna en la tabla de SQL Server - Tutorial de SQL Server / T-SQL, parte 51

Escenario:

Está creando una tabla de clientes para uno de sus requisitos, desea asegurarse de que la columna Nombre siempre tenga el valor. ¿Cómo se asegurará de que la columna de nombre siempre tenga el valor?


Solución:

Las restricciones definen reglas que aseguran que los datos que insertamos en la columna sigan las reglas.
Para el requisito anterior, podemos crear una restricción No Nulo en una columna, Restricción No Nulo, asegúrese de que el valor insertado en esa columna no sea Nulo. Si el usuario intenta insertar una fila sin proporcionar el valor de la columna en la que hemos creado la restricción no nula, la inserción fallará porque la columna no puede aceptar valores nulos.

Para crear una restricción no nula en Columna en una tabla, tenemos que agregar No nulo después del Tipo de datos como se muestra a continuación para la columna Nombre.

Create Table Customer
(FirstName VARCHAR(50) Not Null,
LastName VARCHAR(50),
Age SmallInt,
PhoneNumber CHAR(9),
DOB Date,
Gender CHAR(1)
)
 Puede ver que no proporcioné la restricción No nula para otras columnas, lo que significa que esas columnas pueden aceptar valores nulos o valores desconocidos.

Vamos a insertar debajo de las filas y ver qué sucede

insert into dbo.Customer ( FirstName,LastName,Age,PhoneNumber,DOB,Gender)
Values
('Aamir','Shahzad',Null,Null,Null,Null)
,(Null,'Raza',33,'00000000',Null,'M')
 Como puede ver, la transacción falló ya que no podemos insertar el Nulo en la columna Nombre, no se insertará ningún registro.


Cómo crear una restricción Not Null en una columna en SQL Server - Tutorial TSQL
Consideremos la segunda inserción , donde no estamos insertando nada en la columna Nombre. Aún así, la inserción fallará, ya que cuando no proporciona la columna en la lista de inserción, intenta insertar un valor nulo para esa columna y hemos creado una restricción no nula en la columna Nombre.


insert into dbo.Customer (LastName,Age,PhoneNumber,DOB,Gender)
Values
('Raza',33,'00000000','2016-01-26','M')
 
 Cómo crear una restricción no nula en SQL Server - Tutorial de SQL Server / TSQL