重命名SELECT查询中的所有表

时间:2019-03-04 15:07:11

标签: sql apache-calcite

谁能告诉我如何在SELECT / FROM语句中替换所有表名的名称?我正在寻找一种适用于香草查询以及带有子查询和联接的更复杂查询的方法。

新表名称:new_table 原始查询:SELECT * from table;

结果查询:SELECT * FROM new_table;

非常感谢

j

1 个答案:

答案 0 :(得分:0)

如果您的查询与您要提出的查询一样简单,则应该可以从parsing the query开始,它将为您提供SqlSelect对象。从那里,您可以使用getFrom来检查它是否是您要更改的表,并使用setFrom进行更改。

如果要处理更复杂的查询,则应该能够实现SqlVisitor接口来查找所有要替换的表。