Переименовать все таблицы в запросе SELECT - PullRequest
0 голосов
/ 04 марта 2019

Может кто-нибудь сказать мне, как заменить имя всех имен таблиц в операторах SELECT / FROM ?.Я ищу способ, который хорошо работает для ванильных очередей, а также для более сложных с подзапросами и объединениями.

Т.е.

Новое имя таблицы: new_table Исходный запрос: SELECT * from table;

Результат запроса: SELECT * FROM new_table;

Большое спасибо,

j

1 Ответ

0 голосов
/ 05 марта 2019

Если ваши запросы столь же просты, как и предлагаемые, вы можете начать с анализа запроса , который даст вам SqlSelect объект.Оттуда вы можете использовать getFrom, чтобы проверить, хотите ли вы изменить таблицу, и setFrom, чтобы изменить ее.

Если вы хотите обрабатывать более сложные запросы, вы сможете реализовать SqlVisitor Интерфейс, чтобы найти все вхождения таблицы для замены.

...