ITPub博客

首页 > 数据库 > Oracle > [20190118]toad下如何调试存储过程和函数.txt

[20190118]toad下如何调试存储过程和函数.txt

原创 Oracle 作者:lfree 时间:2019-01-18 08:43:31 0 删除 编辑

[20190118]toad下如何调试存储过程和函数.txt


--//工作需要,需要使用toad调试存储过程和函数,自己以前从来没有调试存储过程和函数的经验,少数的几次还是使用PLSQL develop,

--//使用PLSQL develop很简单,右键选择test,然后输入参数基本就可以了。

--//自己开始试验几次还是不行,google或者百度找到国内的贴子实际上讲解的都非常不清楚。终于找到一个链接:

--//https://blog.toadworld.com/2018/08/16/debugging-pl/sql-code-with-toad-for-oracle

--//上面有图,不过我自己还是费了一点点时间才摸索出来。


1.环境:

SCOTT@test01p> @ ver1

PORT_STRING          VERSION    BANNER                                                                       CON_ID

-------------------- ---------- ---------------------------------------------------------------------------- ------

IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production      0


--//toad 版本11.6.0.43.

2.建立如下脚本:

CREATE OR REPLACE FUNCTION SCOTT.get_dept (p_deptno dept.deptno%TYPE)

   RETURN dept.dname%TYPE

   DETERMINISTIC

IS

   l_dname   dept.dname%TYPE;

BEGIN

   DBMS_LOCK.sleep (1);


   SELECT dname

     INTO l_dname

     FROM dept

    WHERE deptno = p_deptno;


   RETURN l_dname;

END;

/


--//并且将脚本拷贝粘贴进入,或者在schema browser界面上双击,导入编辑器中。

--//在data grid,query view的显示条上右击选上navigator,breakpints,watches.


3.选择菜单上Debug->trace in,然后出现一个提示:

DO you want to compile referenced objects with 

debug information? this processes can take several 

seconds. 


--//选择Yes。然后出现set parameters and Execute窗口,输入调试参数。比如我的测试例子P_DEPTNO=20,然后选择EXECUTE。

--//后面的步骤就简单了,可以选择step over,trace in,trace out,run to cursor等等。

--//可以在breakpoints下设置断点。

--//在watches上查看一些变量值,简单一点选上Enable Smart Watches.


4.我感觉自己开始找不到可能受PLSQL develop的影响.

--//它右击选择test,出现的内容如下:

begin

  -- Call the function

  :result := get_dept(p_deptno => :p_deptno);

end;


5.顺便贴一个图.

snap.jpg




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2564091/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    2636
  • 访问量
    6397901