Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Динамический запрос по списку таблиц с объединением / 5 сообщений из 5, страница 1 из 1
25.05.2020, 18:16
    #39961830
dvtok2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос по списку таблиц с объединением
Добрый день!

Имеется общая таблица содержащая список имён других таблиц.
ID TABLE_NAME
01 table1
02 table2
03 table3

Все таблицы имеют одинаковую структуру. Количество записей в общей таблице меняется.

В результате нужно получить одну таблицу с полями, которые соответствуют полям таблиц в списке
Аналог:
select * from table1 union all
select * from table2 union all
select * from table3

Подскажите оптимальное решение
...
Рейтинг: 0 / 0
25.05.2020, 22:24
    #39961896
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос по списку таблиц с объединением
dvtok2
нужно получить одну таблицу

Точно таблицу? Или результат выборки из всех перечисленных таблиц?
...
Рейтинг: 0 / 0
25.05.2020, 23:57
    #39961926
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос по списку таблиц с объединением
dvtok2,

Если количество таблиц не детерминировано, то в общем случае, только dynamic sql, как результат запроса имен из общей таблицы и выполнения запроса из таблиц по списку.
Если это разовый запрос, или не частый, то ничего страшного, а вот при большом количестве таких операторов у Вас будет большой hard parsing.

А в целом, таблицы не появляются из воздуха, наверняка они создаются не очень часто, и есть регламент создания таких таблиц.
(если конечно это не продукт "гениального архитектора").

Никто не мешает добавить в этот регламент генерацию скрипта пересоздания view с union all для всех таких таблиц + имя таблицы
что то вроде
Код: plsql
1.
2.
3.
4.
create view TOTAL_VIEW AS 
select 'table1',* from table1 union all
select 'table2', * from table2 union all
select 'table3',* from table3



Как собрать запрос из такого view используя таблицу имен таблиц, я думаю объяснять не надо.

Ну и для информации

Студентам, желающим помощи
HOWTO :: Как правильно задавать вопросы
Как мне оформить свое сообщение?
...
Рейтинг: 0 / 0
26.05.2020, 02:12
    #39961956
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос по списку таблиц с объединением
dvtok2

Подскажите оптимальное решение


редакцию сервера огласите
(уж не EE ли with partition option ?)
если таки да, то создайте секционированную и exchange partition - всех их
...
Рейтинг: 0 / 0
26.05.2020, 12:59
    #39962173
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический запрос по списку таблиц с объединением
dvtok2,
Правильный Вася...
Точно таблицу? Или результат выборки из всех перечисленных таблиц?


orawish...
редакцию сервера огласите
(уж не EE ли with partition option ?)
если таки да, то создайте секционированную и exchange partition - всех их

Именно поэтому, при "правильно заданном вопросе",
сначала объясняют ЧТО хотят сделать,
а потом КАК.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Динамический запрос по списку таблиц с объединением / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]