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-02270
Aprenda por qué y cómo resolver los mensajes de error ORA-02270 en Oracle.
describir
Cuando encuentra un error ORA-02270, aparece el siguiente mensaje de error:
- ORA-02270: ninguna clave primaria o única coincidente para esta lista de columnas
razón
Intentó hacer referencia a una tabla usando una clave principal o única, pero la columna que enumeró no coincide con la clave principal o no existe una clave principal para esta tabla.
resolver
Las opciones para resolver este error de Oracle incluyen:
Opción 1
Este error generalmente ocurre cuando intenta crear una clave externa que hace referencia a una tabla que no tiene una clave principal. Para resolver este problema, cree una clave principal en la tabla a la que se hace referencia. Luego vuelva a ejecutar su comando para crear la clave externa.
Por ejemplo, si intenta ejecutar el siguiente comando.
CREATE TABLE supplier ( supplier_id numeric(10) not null, supplier_name varchar2(50) not null, contact_name varchar2(50) ); CREATE TABLE products ( product_id numeric(10) not null, supplier_id numeric(10) not null, CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier (supplier_id) );
Recibirá el siguiente mensaje de error:
Dado que no hay una clave principal en la tabla Proveedores, no puede crear una clave externa en la tabla Productos que haga referencia a la tabla Proveedores.
Puede corregir este error agregando una clave principal a la tabla de proveedores de la siguiente manera y luego vuelva a ejecutar la instrucción CREATE TABLE para la tabla de productos:
ALTER TABLE supplier ADD CONSTRAINT supplier_pk PRIMARY KEY (supplier_id);