我想使用方解石修改SQL查询。例如
SELECT values FROM data
至
SELECT values as v FROM data
我可以使用SqlVisiter实现访问选择标识符的SqlNode。
public Object visit(SqlCall sqlCall) {
SqlNodeList selectList = ((SqlSelect) sqlCall).getSelectList();
for (SqlNode sqlNode : selectList) {
System.out.println(sqlNode.toString());
}
现在我该怎么做才能更新SqlNode? p>
答案 0 :(得分:0)
在这种情况下,选择列表中的SqlNode
对象将是SqlIdentifier
的实例。因此,您必须将sqlNode
强制转换为SqlIdentifier
,然后才能调用.setName(0, "NEW_NAME")
。之后,您在原始根节点上调用unparse
,以取回新查询。