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-00942
Aprenda por qué y cómo resolver los mensajes de error ORA-00942 en Oracle.
describir
Cuando encuentra un error ORA-00942, aparece el siguiente mensaje de error:
- ORA-00942: tabla o vista no existe
razón
La instrucción SQL que intenta ejecutar hace referencia a una tabla o vista que no existe, a la que no tiene acceso o pertenece a otro esquema y no hizo referencia a la tabla por nombre de esquema.
resolver
Las opciones para resolver este error de Oracle incluyen:
Opción 1
Si se produce este error porque la tabla o vista no existe, es necesario crear la tabla o vista.
Puede verificar si la tabla existe en Oracle ejecutando la siguiente declaración SQL:
SELECT * FROM all_objects WHERE object_type IN ('TABLE','VIEW') AND object_name="OBJECT_NAME";
Por ejemplo, si estuviera buscando en la tabla de proveedores, haría lo siguiente:
SELECT * FROM all_objects WHERE object_type IN ('TABLE','VIEW') AND object_name="SUPPLIERS";
Opcion 2
Si se produce este error porque no tiene acceso a la tabla o vista, necesitará que el propietario de la tabla/vista o el DBA le otorguen los permisos adecuados sobre el objeto.
Opción #3
Si se produce este error porque la tabla/vista pertenece a otro esquema y no está haciendo referencia a la tabla por el nombre del esquema, deberá volver a escribir el SQL para incluir el nombre del esquema.
Por ejemplo, es posible que haya ejecutado la siguiente instrucción SQL:
SELECT * FROM suppliers;
Pero la tabla de proveedores no es de su propiedad, sino de un esquema llamado aplicación, puede arreglar su SQL de la siguiente manera:
SELECT * FROM app.suppliers;
Si no sabe a qué esquema pertenece la tabla/vista de proveedores, puede realizar la siguiente búsqueda de SQL:
SELECT owner FROM all_objects WHERE object_type IN ('TABLE','VIEW') AND object_name="SUPPLIERS";
Esto devolverá el nombre de esquema que posee la tabla de proveedores.