Oracle/PLSQL: mensaje de error ORA-02293

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: mensaje de error ORA-02293

Aprenda por qué y cómo resolver los mensajes de error ORA-02293 en Oracle.

describir

Cuando encuentra un error ORA-02293, aparece el siguiente mensaje de error:

  • ORA-02293: no se puede habilitar <约束名称> – Violación de las restricciones de verificación

razón

Intentó agregar o habilitar una restricción de verificación en una tabla existente mediante el comando ALTER TABLE, pero el comando falló porque los datos existentes en la tabla no cumplen con la restricción de verificación.

resolver

Las opciones para resolver este error de Oracle incluyen:

Opción 1

Reescriba las instrucciones SQL para que no se violen las restricciones de verificación o elimine los datos de las tablas que no cumplen con las restricciones de verificación.

Por ejemplo, si creó la siguiente tabla:

CREATE TABLE suppliers
( supplier_id numeric(4),
  supplier_name varchar2(50)
);

Luego intente ejecutar la siguiente instrucción INSERT:

INSERT INTO suppliers
 ( supplier_id, supplier_name )
 VALUES
 ( 1, 'Gateway' );

Luego intente agregar las siguientes restricciones de verificación:

ALTER TABLE suppliers
ADD CONSTRAINT check_supplier_name
  CHECK (supplier_name IN ('IBM', 'Microsoft', 'NVIDIA'));

Recibirá el siguiente mensaje de error:

Puede corregir este error modificando la restricción de verificación para permitir que la columna id_proveedor contenga otros valores, como “Puerta de enlace”, o puede eliminar el valor de la tabla de proveedores que no cumple con la restricción de verificación.

(Visited 7 times, 1 visits today)