如何在eclipse中调试sql文件?

如何在eclipse中调试sql文件?,sql,eclipse,debugging,Sql,Eclipse,Debugging,我有一个很大的.sql文件,其中包含很长的查询,这让人困惑。有没有可能在eclipse中进行调试?如果没有,是否有一个好方法来查看较长查询的单个部分提供了什么?寻找一个选项来执行突出显示的文本,然后可以选择查询的部分并单独运行它们。根据Uwe的评论,在构建结果集时,您不能单步执行查询引擎所做的决策以及它所粘在一起的行。您可能还需要使用选择性注释输出,例如,多行注释输出所有select列表和select*,注释输出X个已加入表及其相关where子句,然后运行查询。。继续将表添加回联接中,直到事情变

我有一个很大的.sql文件,其中包含很长的查询,这让人困惑。有没有可能在eclipse中进行调试?如果没有,是否有一个好方法来查看较长查询的单个部分提供了什么?

寻找一个选项来执行突出显示的文本,然后可以选择查询的部分并单独运行它们。根据Uwe的评论,在构建结果集时,您不能单步执行查询引擎所做的决策以及它所粘在一起的行。您可能还需要使用选择性注释输出,例如,多行注释输出所有select列表和select*,注释输出X个已加入表及其相关where子句,然后运行查询。。继续将表添加回联接中,直到事情变成梨形(通常是重复值或缺少行),然后检查有问题的联接

熟悉执行计划解释系统;它告诉你数据库是如何执行查询的,但是教你如何阅读它对于一个如此宽泛的答案来说太宽泛了;要获得这种理解,需要几个小时的工作

最后,确保你的销售是良好的格式/缩进。没有一个固定的标准,所以如果你的工作场所还没有发布你自己的风格,那么就制定一个,或者从其他人那里获得共识。。我倾向于喜欢:

Select
  Columns
From
  Table
  Join
  Table
  On
    Predicates
  Join
  (
    Select
      Columns
    ...
  ) subquery
  On
    Predicates
Where
  Predicates
Group/order by

因为在同一“级别”上运行的所有内容都缩进了相同的数量。子查询与它们生成的数据与其他表交互时放在同一级别的括号中。。这使得查看哪些组/连接/选择一起工作以及哪些输入变得非常容易。您可以提取子查询并单独执行它们吗?您不能调试sql查询,例如Java代码,因为它是在db服务中优化和执行的。在执行过程中,您不能单步执行或查看/检查任何部分。注意:您可以查找命令式(Java、C#、PHP等)和声明式(SQL、PROLOG等)语言之间的差异。hmmmmm不好