Как я могу динамически поместить имя таблицы в запросе?
Предположим, у меня есть запрос, как показано ниже:
Select a.amount
,b.sal
,a.name
,b.address
from alloc a
,part b
where a.id=b.id;
В приведенном выше запросе я хочу использовать таблицу динамически(part b
если база данных внутренняя, p_part b
если база данных внешняя).
У меня есть функция, которая возвращает базу данных.Предположим, что функция getdatabase();
select decode(getdatabase(),'internal','part b','external','p_part b')
from dual;
Как я могу использовать эту функцию в своем основном запросе для динамического добавления имени таблицы в запрос?
Я не хочу реализовывать этоиспользуя примитивный способ, добавляя строки для выполнения окончательного запроса, а затем открывая курсор с этой строкой.