Oracle/PLSQL: mensaje de error ORA-01417

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-01417

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

describir

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

  • ORA-01417: una mesa se puede unir externamente como máximo a otra mesa

razón

Intentó realizar una unión externa a la misma tabla desde varias otras tablas.

resolver

Las opciones para resolver este error de Oracle incluyen:

Opción 1

Corrija su SQL para que solo realice una unión externa a la misma tabla desde otra tabla.

Por ejemplo, si intenta ejecutar la siguiente instrucción SQL:

SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_id
FROM suppliers, orders, products
WHERE suppliers.supplier_id = orders.supplier_id(+)
AND products.supplier_id = orders.supplier_id(+);

Recibirá el siguiente mensaje de error:

Ha intentado realizar una unión externa desde la tabla Proveedores y productos a la tabla Pedidos.

Puede corregir esta instrucción SQL eliminando la segunda combinación externa. Por ejemplo:

SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_id
FROM suppliers, orders, products
WHERE suppliers.supplier_id = orders.supplier_id(+)
AND products.supplier_id = orders.supplier_id;
(Visited 9 times, 1 visits today)