Oracle/PLSQL: mensaje de error ORA-01790

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

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

describir

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

  • ORA-01790: la expresión debe tener el mismo tipo de datos que la expresión correspondiente

razón

Intentó una declaración SELECT (quizás una consulta UNION o una consulta UNION ALL) y ninguna de las columnas de resultados de la consulta contenía tipos de datos coincidentes.

resolver

Las opciones para resolver este error de Oracle incluyen:

Opción 1

Vuelva a escribir la declaración SELECT para que cada columna coincidente sea del mismo tipo de datos.

Por ejemplo, si intenta ejecutar la siguiente consulta UNION:

SELECT supplier_name
FROM orders
UNION
SELECT quantity
FROM orders_audit;

Recibirá un mensaje de error como este:

Dado que la columna nombre_proveedor se define como varchar2 y la columna de cantidad se define como un número, estas columnas no pueden coincidir con las columnas.

Puede intentar corregir esta consulta UNION utilizando una función de conversión (es decir, función TO_CHAR, función TO_NUMBER o función TO_DATE) para convertir el valor a un tipo de datos coincidente.

Por ejemplo:

SELECT supplier_name
FROM orders
UNION
SELECT TO_CHAR(quantity)
FROM orders_audit;

En este ejemplo, usamos la función TO_CHAR para convertir la columna de cantidad a un tipo de datos compatible con la columna de nombre del proveedor.

(Visited 14 times, 1 visits today)