Oracle PL / SQL,如何调试复杂的存储过程?

时间:2012-07-02 13:53:10

标签: sql oracle plsql

在Oracle PL / SQL中,如何调试复杂的存储过程?

例如,下面的代码,它使用循环+相关子查询。怎么完全明白呢?我了解到调试的最佳方法是分而治之,然后如何将这些编码切成小块?

由于

v_count := 1;

while v_count > 0
LOOP

update tbl_A a
set a.name = (select b.name from tbl_B b where a.id = b.id)
where a.id = (
    select c.id from tbl_C c where c.id = a.id
)

v_count := sql%rowcount;
END LOOP

2 个答案:

答案 0 :(得分:1)

您不会说出您正在使用的工具,但如果您使用的是Oracle SQL Developer,它会包含一个调试器,允许您逐行浏览代码,设置断点等等 - 调试GUI的所有典型功能。

而且,它是免费的。 Get it here

答案 1 :(得分:0)

尝试注释掉部分代码,然后将最远的结果存储在变量中。 然后你可以选择它:SELECT @varname至少MYSQL 5.x处理它的方式。