在Oracle PL/SQL中,如何調試複雜的存儲過程?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
這可能會更新1而不會影響行或進入無限循環。如果這只是一般的虛擬代碼,那麼一般的建議是不要將SQL語句放入過程循環中。 SQL是基於集合的語言,可以在單個語句中做任何你想做的事情。 –