加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PL/Sql Dev 调试Oracle存储过程、触发器、函数

发布时间:2020-12-12 12:35:50 所属栏目:百科 来源:网络整理
导读:本处以调试函数为例,其他的调试与此相同 1.调试位置 通常情况下,要在pl/sql Dev中调试程序有两个地方: 1).新建-测试窗口: 2).在要调试的程序上点击右键-测试 2.调试过程 1).通过调试位置进入测试窗口,如下图: 其中:点击1位置(或者按F9)进入调试器,2位

  本处以调试函数为例,其他的调试与此相同

  1.调试位置

  通常情况下,要在pl/sql Dev中调试程序有两个地方:

  1).新建->测试窗口:

  2).在要调试的程序上点击右键->测试

  2.调试过程

  1).通过调试位置进入测试窗口,如下图:

  其中:点击1位置(或者按F9)进入调试器,2位置显示的是程序所声明的输入输出参数,如果是输入参数,需要在此处填入相应的输入值,输出参数会在执行调试完后显示。

  2).按F9进入开始调制器,如图所示:

  其中:1----中断调试,2----单步调试,简单点就是一步一步的执行;绿色的箭头表示全部运行完这个程序,如果有断点设置,也可以跳入到下一个断点。

  3).单击单步调试,进入函数,如图

  在此,可以尝试单步调试,一步一步运行程序

  4).设置断点,如图

  在文本区域最左侧的边框进行左键单击,如果有行号显示,也就是行号所在的位置,如图:

  点击绿色的箭头,可以直接运行到设置断点处

  5).对变量进行监控,如图

  1位置为监控窗口,这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了,也可以在变量上单击右键->添加变量到监视器(位置2)。

  继续单步执行,可以看到监控变量(位置3)值的变化。

  3.权限问题(ORA-0131)

  1)调试程序时,报错为ORA-0131:Insufficient privileges,如图:

  原因是用户权限不够,是缺失 DEBUG CONNECT SESSION 系统权限所致

  2)解决办法:以SYS用户登录数据库,执行赋权操作:

  SQL> grant DEBUG CONNECT SESSION to user_name;

  注明:1.有网友指出还需赋予DEBUG ANY PROCEDURE的权限,经测试,该权限可不用赋予!
  
2.可以从数据字典session_privs表查看该权限相关信息(需要以user_name登录):

SQL>conn scott/tiger;
SQL> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE CLUSTER
CREATE SEQUENCE
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE
DEBUG CONNECT SESSION
DEBUG ANY PROCEDURE
12 rows selected

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读