Вы должны знать, к каким таблицам может потребоваться запросить форму.Если у вас есть элемент приложения с именем TABLE_NAME
, вы можете объединить результаты и выбрать нужную таблицу следующим образом:
select col1, col2, col3 from tablex where :TABLE_NAME = 'TABLEX'
union all
select col1, col2, col3 from tabley where :TABLE_NAME = 'TABLEY'
union all
select col1, col2, col3 from tablez where :TABLE_NAME = 'TABLEZ'
Преимущество этого подхода состоит в том, что запрос будет проверен на правильный синтаксиси что таблицы имеют правильные столбцы;и это решение защищено от атак SQL-инъекций.
Недостатком является то, что при добавлении новой таблицы необходимо изменить запрос.Но если вы создаете таблицы на лету, как это, то вам все равно стоит пересмотреть свою стратегию.