Oracle如何使用PL/SQL调试存储过程_oracle

来源:脚本之家  责任编辑:小易  

有一个前提,你本地安装的需是服务端,客户端只能连远程数据库1,在本机新建一个数据库2,配置监听程序3,配置数据库连接串(方法与连远程是一样一样的)www.zgxue.com防采集请勿采集本网。

from:http://jingyan.baidu.com/article/3a2f7c2e144d2826aed61167.html

先清除表中的数据(如:delete from user_info) 删除序列(如:drop sequence sq_user) 重新添加序列(如:create sequence sq_user) 添加数据进行验证一下就好了

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

这要看关键字了,像一些查询,修改语句都是一样的,但有些关键字不一样,就得换了

工具/原料 PL\SQL Oracle

tnsnames.ora 文件,数据库路径你配置了么?还有PL/SQL中会话选项的连接配置你设置了么?如图

方法/步骤

数据库安装成功以后在客户端访问的时候需要设置一个连接串的,当然首先你必须要在本机上安装oracle的客户端,假设你把oracle客户端象我一样安装到D盘,那么在如下的路径里面:D:\\oracle\\product\\10.2.0\\

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

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

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

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

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

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

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

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

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

到此这篇关于Oracle如何使用PL/SQL调试存储过程的文章就介绍到这了,更多相关PL/SQL调试存储过程内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

ai保存为PDF格式,在CDR里取消群组就行了,如果你的AI版本不高,CDR版本高一点的话,可以直接打开,发图来帮你弄11339965QQ,直接转PCT格式就可以内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 详解oracle调试存储过程
  • oracle调试存储过程的过程详解
  • oracle sql性能优化系列学习一
  • 详解oracle sequence用法
  • oracle 合并查询 事务 sql函数小知识学习
  • oracle批量插入数据的三种方式【推荐】
  • powerdesigner15.1连接oracle11g逆向生成er图
  • 在oracle 数据库查询的select 查询字段中关联其他表的方法
  • 解决ora-12170:tns connect timeout occurred问题
  • [oracle] 解析在没有备份的情况下undo损坏怎么办
  • oracle三种上载文件技术
  • oracle数据库表名支持的最大长度是多少
  • PL/SQ连接oracle,L 新建表的时候, virtual那一列是什么意思
  • 本人菜鸟,已安装pl/sql和Oracle 客户端,我想知道怎样配置Oracle 才能使pl/SQ
  • oracle中用PL/SQL建表.如何建 求救
  • oracle错误 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小,请问各位,这个问题如何解决啊?
  • 如何在PL/SQL中修改ORACLE的字段顺序
  • 我使用 pl/sql developer工具 能使用oracle语法 但我用mysql 或者用 sql server语法可以使用?
  • 我在安装配置完Oracle和PL/SQL后,为什么plsql的database一栏没有可选项?
  • oracle 如何修改用户名及密码,最好具体点。我是想在pl/sql中修改其中的一个用户名及密码,可以吗
  • oracle的sql developer 怎么格式化sql,是哪个快捷键? 是sql developer,不是PL/SQL哈~
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页oracle详解oracle调试存储过程oracle调试存储过程的过程详解oracle sql性能优化系列学习一详解oracle sequence用法oracle 合并查询 事务 sql函数小知识学习oracle批量插入数据的三种方式【推荐】powerdesigner15.1连接oracle11g逆向生成er图在oracle 数据库查询的select 查询字段中关联其他表的方法解决ora-12170:tns connect timeout occurred问题[oracle] 解析在没有备份的情况下undo损坏怎么办oracle三种上载文件技术oracle数据库表名支持的最大长度是多少oracle 查看表空间的大小及使用情linux系统(x64)安装oracle11g完oracle数据库下载及安装图文操作oracle存储过程基本语法介绍oracle 10g 安装教程[图文]oracle 如何查询被锁定表及如何解基于ora-12170 tns 连接超时解决oracle数据库tns配置方法详解oracle中to_date详细用法示例(ororacle 创建表空间详细介绍oracle 数组的学习 小知识也要积累,养成oracle数据库sql的优化总结oracle如何直接运行os命令(下)oracle常见错误代码的分析与解决(三)oracle通过sqlplus连接数据库的方式oracle 使用sql获取数据库表、表的字段的winserver 2012r2 安装oracle及创建表流程oracle重建索引shell脚本、sql脚本分享实例讲解临时处理去重 80w 数据时夯死现象oracle linux 6.8安装 mysql 5.7.17的详细
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved