SQL Server: Comprobar restricciones

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

SQL Server: Comprobar restricciones

Este tutorial de SQL Server describe cómo usar Comprobar restricciones Sintaxis y ejemplos en SQL Server (Transact-SQL).

¿Qué son las restricciones de verificación en SQL Server?

Las restricciones de verificación en SQL Server (Transact-SQL) le permiten especificar condiciones para cada fila en una tabla.

notas

  • Las restricciones de comprobación no se pueden definir en vistas SQL.
  • Las restricciones de verificación definidas en una tabla solo deben hacer referencia a las columnas de esa tabla. No puede hacer referencia a columnas en otras tablas.
  • Las restricciones de comprobación no pueden contener subconsultas.
  • Las restricciones de comprobación se pueden definir en la sentencia CREATE TABLE o en la sentencia ALTER TABLE.

Usando la sentencia CREATE TABLE

La sintaxis para crear una restricción de verificación mediante la instrucción CREATE TABLE en SQL Server (Transact-SQL) es:

CREATE TABLE table_name
(
  column1 datatype [ NULL | NOT NULL ],
  column2 datatype [ NULL | NOT NULL ],

  ...

  CONSTRAINT constraint_name
    CHECK [ NOT FOR REPLICATION ] (column_name condition)

);

table_name El nombre de la tabla que desea crear con la restricción de verificación. constrict_name El nombre asignado a la restricción de comprobación. column_name La restricción de verificación se aplica a la columna de la tabla. Condition Check Condiciones de restricción que deben cumplirse para tener éxito.

ejemplo

Veamos un ejemplo de cómo usar la instrucción CREATE TABLE en SQL Server para crear restricciones de verificación.

Por ejemplo:

CREATE TABLE employees
( employee_id INT NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  first_name VARCHAR(50),
  salary MONEY,
  CONSTRAINT check_employee_id
    CHECK (employee_id BETWEEN 1 and 10000)
);

En el primer ejemplo, creamos una restricción de verificación en la tabla de empleados llamada check_employee_id. Esta restricción garantiza que el campo employee_id contenga un valor entre 1 y 10000.

Veamos otro ejemplo.

CREATE TABLE employees
( employee_id INT NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  first_name VARCHAR(50),
  salary MONEY,
  CONSTRAINT check_salary
    CHECK (salary > 0)
);

En el segundo ejemplo, creamos una restricción de verificación en la tabla de empleados llamada check_salary. Esta restricción asegura que el valor del salario sea mayor que 0.

Usando la sentencia ALTER TABLE

La sintaxis para crear una restricción de verificación en una instrucción ALTER TABLE en SQL Server (Transact-SQL) es:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
  CHECK (column_name condition);

table_name El nombre de la tabla que desea modificar agregando una restricción de verificación. constrict_name El nombre asignado a la restricción de comprobación. column_name La restricción de verificación se aplica a la columna de la tabla. Condition Check Condiciones de restricción que deben cumplirse para tener éxito.

ejemplo

Veamos un ejemplo de cómo crear una restricción de verificación en SQL Server usando la instrucción ALTER TABLE.

Por ejemplo:

ALTER TABLE employees
ADD CONSTRAINT check_last_name
  CHECK (last_name IN ('Smith', 'Anderson', 'Jones'));

En este ejemplo, creamos una restricción de verificación llamada check_last_name en la tabla de empleados existente. Asegura que el campo last_name contenga solo los siguientes valores: Smith, Anderson o Jones.

eliminar la restricción de verificación

La sintaxis para descartar una restricción de verificación en SQL Server (Transact-SQL) es:

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

table_name El nombre de la tabla de la que desea descartar la restricción de verificación. constrict_name El nombre de la restricción de comprobación que se va a eliminar.

ejemplo

Veamos un ejemplo de cómo eliminar una restricción de verificación en SQL Server.

Por ejemplo:

ALTER TABLE employees
DROP CONSTRAINT check_last_name;

En este ejemplo de SQL Server, descartaremos la restricción de verificación en la tabla de empleados denominada check_last_name.

Habilitar restricciones de verificación

La sintaxis para habilitar las restricciones de verificación en SQL Server (Transact-SQL) es:

ALTER TABLE table_name
WITH CHECK CHECK CONSTRAINT constraint_name;

table_name El nombre de la tabla en la que desea habilitar las restricciones de verificación. constrict_name El nombre de la restricción de comprobación que se va a habilitar.

ejemplo

Veamos un ejemplo de cómo habilitar las restricciones de verificación en SQL Server.

Por ejemplo:

ALTER TABLE employees
WITH CHECK CHECK CONSTRAINT check_salary;

En este ejemplo, habilitamos una restricción de verificación en la tabla de empleados llamada check_salary.

Deshabilitar restricciones de verificación

La sintaxis para deshabilitar una restricción de verificación en SQL Server (Transact-SQL) es:

ALTER TABLE table_name
NOCHECK CONSTRAINT constraint_name;

table_name El nombre de la tabla para la que desea deshabilitar las restricciones de verificación. constrict_name El nombre de la restricción de comprobación que se deshabilitará.

ejemplo

Veamos un ejemplo de cómo deshabilitar las restricciones de verificación en SQL Server.

Por ejemplo:

ALTER TABLE employees
NOCHECK CONSTRAINT check_salary;

En este ejemplo de SQL Server, deshabilitamos la restricción de verificación en la tabla de empleados denominada check_salary.

(Visited 9 times, 1 visits today)