Мне нужно получить записи из нескольких разных представлений.Представления имеют точно такие же столбцы.Я хочу использовать параметр *, потому что там постоянно добавляются новые представления и с UNION ALL
всегда будет один и тот же код.
Что работает:
SELECT ID, TEXT FROM TABLE1
UNION ALL
SELECT ID, TEXT FROM TABLE2
UNION ALL
SELECT ID, TEXT FROM TABLE3
UNION ALL
SELECT ID, TEXT FROM TABLE4
UNION ALL
SELECT ID, TEXT FROM TABLE5
UNION ALL
SELECT ID, TEXT FROM TABLE6
UNION ALL
SELECT ID, TEXT FROM TABLE7
Что я хочу:
SELECT * FROM TABLE1
UNION ALL
SELECT * FROM TABLE2
UNION ALL
SELECT * FROM TABLE3
UNION ALL
SELECT * FROM TABLE4
UNION ALL
SELECT * FROM TABLE5
UNION ALL
SELECT * FROM TABLE6
UNION ALL
SELECT * FROM TABLE7´
Если я это сделаю, я получу следующую ошибку:
ORA-01790: expression must have same datatype as corresponding expression
ОБНОВЛЕНИЕ :
Хорошо, извините, моя ошибка.Представления не были точно такими же, потому что один тип данных был преобразован в число, а другой в varchar.Проблема решена.