我需要分析单独的文本文件中的150多个SQL查询(只是实际的SQL代码,而不是数据结果),以便识别所有使用的列名和表名。优选地,每列和每个表出现的次数。使用嵌套的SELECT语句等编写一个全新的SQL解析程序比看起来更棘手。
必须有一个程序或代码可以执行此操作(或接近此处的代码),但我还没有找到它。
答案 0 :(得分:10)
我实际上最终使用了一个名为的工具 SQL Pretty Printer。您可以购买桌面版,但我刚使用免费的在线应用程序。只需将查询复制到文本框中,将Output设置为“List DB Object”,然后单击Format SQL按钮。
使用大约150种不同(和复杂)的SQL查询可以很好地工作。
答案 1 :(得分:4)
如何在MS SQLServer中使用执行计划报告?您可以将其保存到xml文件中,然后可以对其进行解析。
答案 2 :(得分:2)
答案 3 :(得分:2)
如果你是应用程序需要这样做,并且可以访问具有表等的数据库,你可以运行类似的东西:
SELECT TOP 0 * FROM MY_TABLE
使用ADO.NET。这将为您提供一个DataTable实例,您可以为其查询列及其属性。
答案 4 :(得分:0)
请使用antlr ...写一个语法n按照步骤...在antlr site中给出...最后你会得到AST(抽象语法树)。对于给定的查询...我们可以遍历这个并带来查询中存在的所有表,列。
答案 5 :(得分:0)
在DB2中,您可以使用以下内容附加查询,但1是您可以指定的最小值;如果您尝试指定0:
,则会抛出错误 FETCH FIRST 1 ROW ONLY