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-01416
Aprenda por qué y cómo resolver los mensajes de error ORA-01416 en Oracle.
describir
Cuando encuentra un error ORA-01416, aparece el siguiente mensaje de error:
- ORA-01416: dos tablas no pueden unirse externamente entre sí
razón
Intentó unir dos tablas, pero realizó una combinación externa en las dos tablas. Esto crea una unión exterior circular entre las dos tablas.
resolver
Las opciones para resolver este error de Oracle incluyen:
Opción 1
Corrija su SQL para que no una las dos tablas entre sí. Solo puede realizar uniones externas de una manera.
Por ejemplo, si intenta ejecutar la siguiente instrucción SQL:
SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_id FROM suppliers, orders WHERE suppliers.supplier_id = orders.supplier_id(+) AND suppliers.supplier_name(+) = orders.supplier_name;
Recibirá el siguiente mensaje de error:
Puede corregir esta instrucción SQL eliminando la unión fuera del bucle. Por ejemplo:
SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_id FROM suppliers, orders WHERE suppliers.supplier_id = orders.supplier_id(+) AND suppliers.supplier_name = orders.supplier_name(+);