У меня есть запрос с операторами UNION ALL.
SELECT * FROM HULL_A
UNION ALL
SELECT * FROM HULL_B;
выдает ошибку
ORA-01790 "выражение должно иметь тот же тип данных, что и соответствующее
выражение "
Однако я проверил это, и я думаю, что это не так. Я использовал следующее, чтобы проверить:
select db1.data_type, db2.data_type, db1.data_length, db2.data_length, db1.data_precision, db2.data_precision, db1.data_scale, db2.data_scale
from all_tab_columns db1
inner join all_tab_columns db2
on (db1.owner = db2.owner
and db1.column_name = db2.column_name)
where db1.table_name = 'HULL_A'
and db2.table_name = 'HULL_B'
and (
db1.data_type = db2.data_type
OR
db1.data_length = db2.data_length
)
Результат:

Мне удалось связать HULL_A с HULL_C и HULL_D, используя UNION ALL.
Так почему же ORACLE выдает ошибку? Какой еще тест я могу выполнить, чтобы выполнить UNION ALL?
Я работаю над WINDOWS 10 ORACLE 11g