如何解析SQL查询以确定其表格依赖性?

时间:2018-03-09 21:08:22

标签: sql parsing directed-acyclic-graphs

假设我有一个查询,例如:

SELECT * FROM POTATO LEFT JOIN TUBER ON POTATO.delicious = TUBER.delicious

是否有一个库或工具会接受该查询并返回[" POTATO," TUBER"],以便我可以逻辑地对一系列查询进行排序?

1 个答案:

答案 0 :(得分:1)

最简单的事情可能是execute the SQL with SET STATISTICS XML ON。执行此操作时,您将获得两个结果集:查询的结果集和包含查询计划为XML的结果集,包含在最后一行的第一列中。

将查询计划作为XML后,按照these instructions获取所有属性的列表,然后过滤"表"并检查结果。