0

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

IE

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

结果查询:SELECT * FROM new_table;

非常感谢,

j

4

1 回答 1

0

如果您的查询与您提议的一样简单,您应该能够从解析查询开始,这将为您提供一个SqlSelect对象。从那里您可以使用getFrom它来检查它是否是您要更改的表并setFrom进行更改。

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

于 2019-03-05T15:02:06.487 回答