Restricción de verificación de servidor SQL

Restricción de verificación de servidor SQL

Una restricción se refiere a una regla que define cómo se aplican los datos en una columna determinada. Una restricción puede realizar acciones como prevenir la inserción de valores nulos, evitando la inserción de valores duplicados y más.

En este artículo, exploraremos una de las restricciones prácticas en el servidor SQL llamado restricción de verificación. Una restricción de verificación se utiliza principalmente para garantizar la integridad de los datos en una columna determinada.

Usando una restricción de verificación, puede asegurarse de que los datos que se agregan a una columna determinada se evalúan constantemente a un valor booleano dado. Por ejemplo, puede agregar una restricción de verificación que garantice que solo se agregan los valores más allá de una fecha específica a esa columna.

Discutamos esto más.

Restricción de verificación de servidor SQL

Hay dos formas de agregar una restricción de verificación a una columna de tabla:

  1. Durante la creación de la mesa
  2. Usando el comando de tabla alter en la tabla existente

Siempre es una excelente práctica agregar una restricción durante la creación de la tabla. Esto asegura que la regla se aplique a todos los datos en esa columna.

Para ilustrar, tome la definición de la tabla que se muestra a continuación:

crear usuarios de tabla (
ID int identidad clave primaria,
nombre de usuario Varchar (100) No nulo,
check date fechin cheque (inscrit_date> '2022-01-01')
);

En la tabla de ejemplo dada, creamos tres columnas, cada una con su tipo de datos único y valores. Sin embargo, en la columna inscrit_date, establecemos la restricción de verificación que verifica que cualquier valor agregado a esa columna es mayor que 2022-01-01.

Comenzamos llamando a la palabra clave de verificación seguida de la expresión booleana que deseamos aplicar a esa columna.

También puede establecer un nombre para la restricción utilizando la palabra clave de restricción. Un ejemplo es el siguiente:

crear usuarios de tabla (
ID int identidad clave primaria,
nombre de usuario Varchar (100) No nulo,
InscRIL_DATE Fecha de restricción Verify_date check (inscrand_date> '2022-01-01')
);

En este caso, asignamos el nombre que es el "Verify_date" a la restricción creada. Nombrar una restricción puede facilitar su vida cuando necesita eliminar o actualizar los parámetros de restricción.

NOTA: No puede tener restricciones sin nombre en su base de datos. Por lo tanto, si no se proporciona nombre, el servidor SQL genera automáticamente un nombre para su restricción.

Una vez que definimos una restricción, podemos agregar los datos como se muestra en lo siguiente:

insertar
en
usuarios (nombre de usuario,
inscrit_date)
Valores ('User1',
'2022-01-02');

Puede notar que la instrucción de inserción anterior se adhiere a las reglas de restricción en la columna Inscrit_Date.

Sin embargo, si violamos las reglas de esa restricción, el servidor SQL devuelve un error como se ilustra en lo siguiente:

insertar
en
usuarios (nombre de usuario,
inscrit_date)
valores ('user2', '2021-12-31');

Producción:

Error de SQL [547] [23000]: la instrucción Insertar en conflicto con la restricción de verificación "Verify_date". El conflicto ocurrió en la base de datos "resolución", tabla "dbo.usuarios ", columna 'inscrit_date'.

Como puede ver, el servidor SQL le alerta sobre la violación de la restricción mediante la declaración de inserción.

Modificar una restricción existente

Para cambiar la definición de una restricción existente usando Transact-SQL, debe eliminar la restricción y recrearla con las nuevas definiciones.

Agregar una restricción de verificación a una tabla existente

Para agregar una restricción de verificación a una tabla existente, utiliza la sintaxis proporcionada a continuación:

ALTER TABLA TABLA_NAME
Agregar restricción restrict_name check (restrict_definition);

Eliminar una restricción de verificación

Para eliminar una restricción de verificación, puede usar el comando ALTER TABLE como se muestra en lo siguiente:

ALTER TABLA TABLA_NAME
Soltar restricción de restricción_name;

Deshabilitar una restricción

Puede omitir las reglas de restricción sin dejar caer la restricción deshabilitándola. Lo siguiente muestra la sintaxis para deshabilitar una restricción:

ALTER TABLA TABLA_NAME
Restricción de restricción de nocheck_name;

La sintaxis dada debe deshabilitar la restricción para las declaraciones de inserción y actualización.

Conclusión

En esta publicación, exploramos cómo usar el trabajo con la restricción de verificación en el servidor SQL. Discutimos sobre cómo crear una nueva restricción, cómo alterar una restricción, cómo deshabilitar una restricción y cómo eliminar una restricción de una tabla.