1

我已经使用两个表的内连接编写了 SQL 查询。语法是正确的,但是当我执行它时,它没有产生所需的输出。

如何在 SQL 中调试它的逻辑部分。如果是 PL/SQL,我们可以使用 DBMS_OUPUT.put_line() 或使用单步调试器来找出逻辑是否正常工作。
如何在 SQL 中做类似的事情。

感谢您的回答。

4

1 回答 1

1

您可以像调试 PL/SQL 程序一样调试 SQL 语句 - 通过将其分解成更小的块,并查看实际行为是否与预期行为匹配。

例如,如果您有这样的查询:

SELECT a, b + c
FROM x JOIN y ON (x.id = y.id);

而你得到的结果不是你所期望的,你可能首先运行这两个查询:

SELECT id, a, b FROM y;

SELECT id, c FROM y;

检查结果,然后在脑海中“加入”结果(即在两个结果集中查找 ID 匹配的所有行)。

在此过程中,您会发现查询没有返回您期望的结果的原因——或者,您首先会发现您的预期结果是错误的。

于 2013-10-14T03:31:05.697 回答