Oracle 数据库的调试,PL/SQL 老手应该都知道它其实挺讲究技巧的。
PL/SQL 的调试方式说复杂也不复杂,关键就是掌握几个好用的工具,比如DBMS_OUTPUT和DBMS_DEBUG,还有配合 IDE 用的断点调试。
像你在写一个过程,比如GetPanNO_New
,如果结果不对,别急着一行一行猜。直接在OPEN mycursor
那行设断点,F8/F11 单步走一遍。变量监视窗口也别忘了加进去,像mycursor%ISOPEN
就直观。
要打开调试模式,可以试试这段:
EXEC DBMS_DEBUG.JDUMP('SET', '1');
了,输出日志别忘了DBMS_OUTPUT.PUT_LINE
,调试信息看得一清二楚。实际开发时,这一套流程下来,找 BUG 的效率高多。
调试时调用栈也挺有用,是函数嵌套调用的时候,知道是哪个函数先出的问题,比你瞎猜靠谱多了。
如果你用的是PL/SQL Developer之类的 IDE,记得善用调试工具栏,F9 设断点,Ctrl+R 开始调试,基本上不翻文档都能上手。
嗯,Oracle 调试虽然老派,但只要用熟了,效率也挺高。如果你平时经常和 PL/SQL 打交道,建议把这套流程试试,还是蛮实用的。