<案例1> 原地址: http://jingyan.baidu.com/article/3a2f7c2e144d2826aed61167.html

调试过程对找到一个存过的bug或错误是非常重要的,Oracle作为一款强大的商业数据库,其上面的存过少则10几行,多则上千行,免不了bug的存在,存过上千行的话,找bug也很费力,通过调试可以大大减轻这种负担。

工具/原料

  • PL\SQL
  • Oracle

方法/步骤

  1. 1

    首先在PL/SQL的左侧资源栏中展开Procedures项(图中位置1),然后再其上面的搜索框中(图中位置2)输入存过名称的关键词,按回车键搜索要调试的存过,不停的回车,直到找到想要调试的存过。

  2. 2

    找到想要调试的存过,左键单击选中该存过(图中位置1),然后右键单击该存过,从弹出菜单中选择“Test”项(图中位置2)。

  3. 3

    单击“Test”后,PL\SQL会打开调试界面,图中位置1的按钮就是开始调试的按钮,在调试之前要填写存过的参数,位置2就是填写参数的地方,如果有多个参数,会有多行参数框,按参数名填写相应的参数即可。

  4. 4

    填 写完参数,单击开始调试按钮后,调试的界面会发生一些变化。图中位置1的变化,说明存过已经处于执行状态,别人不能再编译或者执行。位置2的按钮就是执行 按钮,单击这个按钮存过会执行完成或者遇到bug跳出,否则是不会停下来的,调试时不会用这个按钮的。位置3的按钮才是关键——单步执行,就是让代码一行 一行的执行,位置4的按钮是跳出单步执行,等待下一个指令。

  5. 5

    单击“单步执行”,存过开始单步执行。界面中每一次执行的代码会高亮显示(图中位置1),如果想要看某个变量具体的值,就在位置2的地方输入该变量名,然后变量的值会显示在位置3的地方。

  6. 6

    调试的时候,每一次单步执行的时候要记一下执行代码的行数,图中位置3的数字就是当前执行代码的行数,就是第几行。如果过程单步执行到某行后,再单步执行的时候,存过就退出,那么错误就在该行的下一行。

  7. 7

    代码执行到24行,在往下执行时,直接转到exception的地方,也就是异常处理的部分。

  8. 8

    这说明我们代码中的错误在24和25行上,我们打开存过,浏览到24行和25行附近,发现25行和24行使用了两个变量,记住那两个变量。重新开始调试过程。

  9. 9

    单步的执行时候把刚才那两个变量名填写到变量查看框,一边观察变量值变化,一边单步执行,执行到24行的时候,发现一个变量已经有值了,而另一个变量的值为null。错误原因明朗了吧?就是变量没有赋值或者初始话,给该变量赋值后存过就不报错了。

     
    <案例二> 源地址:http://stevex.blog.51cto.com/4300375/975089

    今天刚换了一个Schema进行测试,突然发现存储过程无法进行单步跟踪调试了,郁闷呀,原来的Schema对存储过程单步调试如 鱼得水,新的Schema为何不行了?与数据库设置有关?试了半天,原来右击存储过程有个选项“Add Debug Information”勾上就Okay,小小经验,为大家开发加速。

    本文出自 “力量来源于赤诚的爱!” 博客,请务必保留此出处http://stevex.blog.51cto.com/4300375/975089

     

Plsql工具单步调试 存储过程或是 函数(oracle数据库)-留着自己用的的更多相关文章

  1. 使用PLSQL Developer和DbVisualizer、SQLDBx查询oracle数据库时出现乱码

    使用PLSQL Developer和DbVisualizer查询oracle数据库时,出现查询数据中文乱码情况. 查看了一下数据库编码格式select * from v$nls_parameters; ...

  2. plsql developer 导出导入存储过程和函数

    说明:需要把建表脚本及表数据分开导出,操作很简单.一.导出表及存储过程等对象:1. 登录PL-SQL Developer2. 选择只显示本用户的对象,如下图:3. 选择菜单“Tools——〉Expor ...

  3. PLSQL Developer安装、配置、连接oracle数据库

    0.资源准备 1) PLSQL Developer安装包(由于安装包超过10M,无法上传,请自行下载) 2) instantclient_11_2安装包(由于安装包超过10M,无法上传,请自行下载) ...

  4. Sql Server 2012 存储过程的单步调试

    最近在做vb项目的时候,用到了存储过程的调试,现在总结一下发现单步调试存储过程有以下2种方法: 1.这种方法自己已经做过,是可以的,如下: a.如果目标数据库存在存储过程,右击该存储过程-修改,打开存 ...

  5. Hibernate调用存储过程和函数

    操作大批量数据或复杂逻辑,考虑到执行效率和代码量的时候,存储过程和函数在数据库中是预编译好的,调用执行效率高 // 调用过程 {call 过程名称(?,?,?)} public static void ...

  6. plsql无法连接64位oracle数据库的解决方法(图文解说)

    oracle11g下载页面:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html,找到适 ...

  7. plsql无法连接64位oracle数据库的解决方法

    今儿个重装了个系统,win8 64位.接着装了个64位的oracle11g,oracle11g下载页面:http://www.oracle.com/technetwork/database/enter ...

  8. PLSQL无法连接64位Oracle数据库/Database下拉框为空的解决方法

    原创:https://blog.csdn.net/sdmanooo/article/details/14055077 今儿个重装了个系统,win7 64位.接着装了个64位的oracle11g,ora ...

  9. 学习之痛(数据库->存储过程和函数)

    存储过程和函数作为数据库的一部分,为什么是学习之痛. 项目实际开发,考虑性能和代码维护,绝对不用存储过程. 如果单纯自己写个小程序糊弄人玩,还可以写写. [学习] 在数据库中定义一些SQL语句集合,然 ...

随机推荐

  1. Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())

    在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等. 但是各种方法都有其注意事项,如果不注意则很容易 ...

  2. Android基础之响应Menu键弹出菜单Demo

    对于Android我也不是很熟悉,只是学习一些基本内容就OK.所以写的内容也很简单.本Demo要实现的效果就点击Menu键将弹出一个菜单并响应点击菜单项事件. 一.废话少说直接上代码.其实就是重写两个 ...

  3. 使用 Gradle 实现 TFS 构建自动化

    发布于 2014-07-16 作者 陈 忠岳 感谢微软开放技术有限公司(简称"微软开放技术")发布的构建模板,我们现在便可以在 Team Foundation Server(TFS ...

  4. (转载)在vmware中简单配置vsftpd服务器

    (转载)http://blog.chinaunix.net/uid-7453676-id-2625582.html 分类: LINUX 一 试验的前期环境搭建   系统环境:Fedora 2   软件 ...

  5. (转载)prepare函数的学习,我要学习php第二天

    (转载)http://www.boyuan78.com/htm/company/2012_1030_60.html prepare函数的学习,我要学习php第二天 $mysqli = new mysq ...

  6. unity3d Human skin real time rendering with blood and water drop effect真实模拟人皮实时渲染之血液和水珠掉落效果

    在之前的一篇(链接在此)文章中写了下关于真实模拟皮肤渲染,在此基础之上又想加上血液效果,在洗澡的时候(=  =:)又想在skin上加上水珠的效果,所以研究了下,做出来效果感觉还不错,放下效果图: 水珠 ...

  7. poj 2068 Nim(博弈树)

    Nim Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 1501   Accepted: 845 Description Le ...

  8. UVa11090 Going in Cycle!!

    UVa11090 Going in Cycle!! 链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34650 [思路] ...

  9. [LeetCode] Longest Valid Parentheses 解题思路

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  10. Java 操作 EXCEL

    今天帮朋友写了一段用来处理EXCEL内容的程序,在这里记录下自己的学习过程.主要是对EXCEL表格中的内容做分类和统计,使用计算机来做这种重复的机械性地工作再好不过了.首先,我们需要下载一个java操 ...