Validar Campos De Una Tabla En Sql Server
Hola a todos
Mucha veces necesitamos validar los campos de nuestras tablas...
Establecer restricciones a cada columna y permitir que solo acepte lo quenosotros deseamos, en nuestro ejemplo estamos utilizando las siguientes restricciones CHECK, UNIQUE , DEFAULT.
CHECK : Exigen la integridad del dominio mediante la limitación de valores que puedeaceptar una columna.
UNIQUE : Permite especificar que una columna no pueda contener valores duplicados.
DEFAULT: Cuando se une a una columna , se especifica un valor por defecto que se insertaraen la columna.
CREATE TABLE EMPLEADO
(
CODIGO CHAR(6)
CHECK(CODIGO LIKE'[A-Z][0-9][0-9][0-9][0-9][0-9]') PRIMARY KEY,
NOMBRE VARCHAR(50) NOT NULL ,
APELLIDOS VARCHAR(50) NOT NULL ,DNI VARCHAR(8) NOT NULL
CHECK(DNI LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') UNIQUE,
SEXO CHAR(1) NOT NULL
CHECK(SEXO IN ('M','F')) DEFAULT 'M',
[ESTADO CIVIL] CHAR(1) NOT NULL
CHECK([ESTADO CIVIL] IN ('S','C','V')) DEFAULT 'S',
[FECHA NACIMIENTO] DATETIME NOT NULL
CHECK([FECHA NACIMIENTO] < DATEADD(year, -18,getdate())),
SUELDO MONEY NOT NULL
CHECK(SUELDO BETWEEN 500 AND1500) DEFAULT 500,
ESTADO CHAR(1) NOT NULL
CHECK(ESTADO IN ('A','I')) DEFAULT 'A'
)
Nota
CODIGO: En esta columna estamos utilizando lasiguiente restricción. CHECK(CODIGO LIKE'[A-Z][0-9][0-9][0-9][0-9][0-9]'),esto significa que el primer carácter solo nos aceptara letra y las 5 restantes serán números quedando de la siguiente manera...... 'E00001'.
DNI: En esta columna estamos utilizando lasiguiente restricción. CHECK(DNI LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),en este siguiente columna solo nos aceptar números, ademas contiene la siguiente restricción UNIQUE,por lo tantono podrá haber valores duplicados en esta columna.
SEXO: En esta columna estamos utilizando la siguiente restricción. CHAR(1) NOT NULL CHECK(SEXO IN ('M','F')),esta columna nos indica que permite...
Regístrate para leer el documento completo.