我在需要分析的单独文本文件中有150多个SQL查询(只是实际的SQL代码,而不是数据结果),以便识别所使用的所有列名称和表名。最好用每列和每个表格出现的次数。编写全新的SQL解析程序比使用嵌套的SELECT语句等更复杂。有没有办法解析SQL查询来提取列名和表名?
必须有一个程序或代码,这样做(或接近这个),但我还没有找到它。
我在需要分析的单独文本文件中有150多个SQL查询(只是实际的SQL代码,而不是数据结果),以便识别所使用的所有列名称和表名。最好用每列和每个表格出现的次数。编写全新的SQL解析程序比使用嵌套的SELECT语句等更复杂。有没有办法解析SQL查询来提取列名和表名?
必须有一个程序或代码,这样做(或接近这个),但我还没有找到它。
我实际上最终使用了一个名为 SQL Pretty Printer的工具。您可以购买桌面版本,但我只是使用免费的在线应用程序。只需将查询复制到文本框中,将输出设置为“List DB Object”并单击Format SQL按钮。
它使用大约150个不同的(和复杂的)SQL查询很好用。
如何使用MS SQLServer中的执行计划报告?您可以将其保存到一个xml文件,然后解析。
如果你的应用程序需要做到这一点,并已获得具有表等的数据库,你可以运行类似:
SELECT TOP 0 * FROM MY_TABLE
使用ADO.NET。这会给你一个DataTable实例,你可以查询这些列及其属性。
请跟随antlr ...写一个语法n按照步骤..它在antlr网站中给出..最终你会得到AST(抽象语法树)。对于给定的查询...我们可以遍历这个并且将查询中存在的所有表,列。
保存我的* $$ :) 谢谢。 – 2014-03-10 21:11:48