oracle如何调试存储过程

oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能

先按简单的存储过程做个例子,就是上次做的存储过程(proc_test)

1、先在数据库的procedures文件找到我们之前创建存储过程

2、选中存储过程,右键弹出菜单,选择 测试

3、出现测试脚本页面,输入动态参数值,点击左上角的标志,进入调式模式

4、出现调试操作按钮界面(依次:运行   单步进入  单步跳过   单步退出  运行到下一个异常)

5、点击运行,直接获取存储过程的返回结果,点击单步进入,点击左边,进行断点调试(已进入函数方法中)

6、将变量添加到监视器中,进行监控

监视界面

7、最后执行完存储过程,输出结果

Ps:

参考如下网址: https://www.cnblogs.com/liuqiyun/p/6589814.html

原文地址:https://www.cnblogs.com/xielong/p/10716005.html

时间: 2024-08-24 00:25:15

oracle如何调试存储过程的相关文章

Mysql调试存储过程最简单的方法

以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具.今天google了下发现可以用select + 变量名的方法来调试...真是让我汗颜啊. 具体方法: 在你的存储过程中加入如下语句: SELECT 变量1,变量2; 然后用mysql自带的cmd程序进入mysql> 下. call 你的存储过程名(输入参数1,@输出参数);(注:这里帮助下新同学,如果你的存储过程有输出变量,那么在这里只需要加 @ 然后跟任意变量名即可); 即可发现你的变

用sql语句导出oracle中的存储过程和函数

用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' replace SELECT CASE WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEF

Oracle中的存储过程

 pl/sql编程语言是Oracle中操作数据库最快的语言,而存储过程本质就是pl/sql,所以通过存储过程来对数据库进行CRUD是最有效的. 不再使用JDBC来进行CRUD操作,因为使用JDBC来进行CRUD操作效率低. 所以,Java通过调用存储过程,来间接调用pl/sql,达到对数据库的CRUD操作. 我们可以把CRUD操作封装到存储过程中,在程序中,调用存储过程即可. 以下是例子:来自于Oracle讲师赵强 --打印Hello World /* 调用存储过程 1. exec sayH

Oracle中的存储过程简单例子

---创建表 create table TESTTABLE ( id1  VARCHAR2(12), name VARCHAR2(32) ) select t.id1,t.name from TESTTABLE t insert into TESTTABLE (ID1, NAME) values ('1', 'zhangsan'); insert into TESTTABLE (ID1, NAME) values ('2', 'lisi'); insert into TESTTABLE (ID1

Oracle job procedure 存储过程定时任务(转自hoojo)

Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; select * from all_jobs; select * from user_jobs; -- 查询字段描述 /* 字段(列) 类型 描述 JOB NUMBER 任务的唯一标示号 LOG_USER VARCHAR2(30) 提交任务的用户 P

oracle函数和存储过程有什么区别

1. 返回值的区别,函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有 2.调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用. 函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改.插入数据库表或执行某些DDL语句等等) 参数的返回情况来看: 如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数: 从调用情况来看: 如果在SQL语句(DML或SELECT)中调用的话一定是存储函数或存储的封装函数不可以是存储过程

调试存储过程报权限不足:ORA-0131 Insufficient privileges.

在用plsql调试存储过程时报错: ORA-0131:Insufficient privileges. Note:Debugging requires the DEBUG CONNECT SESSION system privileges. 报错原因,权限缺失: DEBUG CONNECT SESSION 登录系统账号sys/system赋权限: SQL> grant  DEBUG CONNECT SESSION to user_name;

Oracle定时器调用存储过程

1. 创建表 create table job_table(run_time date); 2. 创建存储过程 create or replace procedure job_proc is begin insert into job_table (run_time) values (sysdate); end; 3. 创建定时器job,并且指定为一分钟执行一次 declare job number; begin dbms_job.submit(job, 'job_proc;', sysdate

【转】Oracle job procedure 存储过程定时任务

原文:Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; select * from all_jobs; select * from user_jobs; -- 查询字段描述 /* 字段(列) 类型 描述 JOB NUMBER 任务的唯一标示号 LOG_USER VARCHAR2(30) 提交任务的用