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.
Oracle/PLSQL: Comprobar restricciones
Este tutorial de Oracle describe cómo usar Comprobar restricciones Sintaxis y ejemplos en Oracle.
¿Qué son las restricciones de verificación en Oracle?
Una Comprobar restricciones Le permite especificar condiciones para cada fila de la 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 SQL.
- Las restricciones de comprobación se pueden definir en la instrucción SQL CREATE TABLE o en la instrucción SQL ALTER TABLE.
Usando la sentencia CREATE TABLE
La sintaxis para crear una restricción de verificación en Oracle utilizando la instrucción CREATE TABLE es:
CREATE TABLE table_name ( column1 datatype null/not null, column2 datatype null/not null, ... CONSTRAINT constraint_name CHECK (column_name condition) [DISABLE] );
La palabra clave DISABLE es opcional. Si crea una restricción de verificación con la palabra clave DISABLE, se creará la restricción, pero no se aplicará la condición.
ejemplo
CREATE TABLE suppliers ( supplier_id numeric(4), supplier_name varchar2(50), CONSTRAINT check_supplier_id CHECK (supplier_id BETWEEN 100 and 9999) );
En el primer ejemplo, creamos una restricción de verificación en la tabla de proveedores llamada check_supplier_id. Esta restricción garantiza que el campo id_proveedor contenga un valor entre 100 y 9999.
CREATE TABLE suppliers ( supplier_id numeric(4), supplier_name varchar2(50), CONSTRAINT check_supplier_name CHECK (supplier_name = upper(supplier_name)) );
En el segundo ejemplo, creamos una restricción de verificación denominada check_supplier_name. Esta restricción garantiza que la columna Nombre del proveedor siempre contenga caracteres en mayúsculas.
Usando la instrucción ALTER TABLE
La sintaxis para crear una restricción de verificación en la instrucción ALTER TABLE de Oracle es:
ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK (column_name condition) [DISABLE];
La palabra clave DISABLE es opcional. Si crea una restricción de verificación con la palabra clave DISABLE, se crea la restricción pero no se aplica la condición.
ejemplo
ALTER TABLE suppliers ADD CONSTRAINT check_supplier_name CHECK (supplier_name IN ('IBM', 'Microsoft', 'NVIDIA'));
En este ejemplo, creamos una restricción de verificación llamada check_supplier_name en la tabla de proveedores existente. Garantiza que el campo Nombre del proveedor contenga solo los siguientes valores: IBM, Microsoft o NVIDIA.
eliminar la restricción de verificación
La sintaxis para eliminar una restricción de verificación es:
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
ejemplo
ALTER TABLE suppliers DROP CONSTRAINT check_supplier_id;
En este ejemplo, eliminaremos la restricción de verificación en la tabla de proveedores denominada check_supplier_id.
Habilitar restricciones de verificación
La sintaxis para habilitar las restricciones de verificación en Oracle es:
ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;
ejemplo
ALTER TABLE suppliers ENABLE CONSTRAINT check_supplier_id;
En este ejemplo, habilitamos una restricción de verificación en la tabla de proveedores llamada check_supplier_id.
Deshabilitar restricciones de verificación
La sintaxis para deshabilitar una restricción de verificación en Oracle es:
ALTER TABLE table_name DISABLE CONSTRAINT constraint_name;
ejemplo
ALTER TABLE suppliers DISABLE CONSTRAINT check_supplier_id;
En este ejemplo, deshabilitamos la restricción de verificación en la tabla de proveedores denominada check_supplier_id.