热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

本处以调试函数为例,其他的调试与此相同1.调试位置通常情况下,要在pl/sqlDev中调试程序有两个地方:1).新建->测试窗口:www.2cto.com2).在要调试的程序上点击右键->测试2.调试过程1).通...SyntaxHighlighter.all

本处以调试函数为例,其他的调试与此相同
 
1.调试位置
  通常情况下,要在pl/sql Dev中调试程序有两个地方:
  1).新建->测试窗口:  www.2cto.com  
  

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

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

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

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

 
     在此,可以尝试单步调试,一步一步运行程序
 4).设置断点,如图  www.2cto.com  
  在文本区域最左侧的边框进行左键单击,如果有行号显示,也就是行号所在的位置,如图:
  

 
     点击绿色的箭头,可以直接运行到设置断点处
 5).对变量进行监控,如图
  

 
     1位置为监控窗口,这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了,也可以在变量上单击右键->添加变量到监视器(位置2)。
    继续单步执行,可以看到监控变量(位置3)值的变化。
3.权限问题(ORA-0131)
 1)调试程序时,报错为ORA-0131:Insufficient privileges,如图:
  

 
     原因是用户权限不够,是缺失  DEBUG CONNECT SESSION 系统权限所致
 2)解决办法:以SYS用户登录数据库,执行赋权操作:
1 SQL> grant  DEBUG CONNECT SESSION to user_name;
   注明:1.有网友指出还需赋予DEBUG ANY PROCEDURE的权限,经测试,该权限可不用赋予!
        2.可以从数据字典session_privs表查看该权限相关信息(需要以user_name登录):
 
 1 SQL>conn scott/tiger;
 2 SQL> select * from session_privs;
 3 PRIVILEGE  www.2cto.com  
 4 ----------------------------------------
 5 CREATE SESSION
 6 UNLIMITED TABLESPACE
 7 CREATE TABLE
 8 CREATE CLUSTER
 9 CREATE SEQUENCE
10 CREATE PROCEDURE
11 CREATE TRIGGER
12 CREATE TYPE
13 CREATE OPERATOR
14 CREATE INDEXTYPE
15 DEBUG CONNECT SESSION
16 DEBUG ANY PROCEDURE
17 12 rows selected
 
 
作者 snowmice

推荐阅读
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
  • 深入解析三大范式与JDBC集成
    本文详细探讨了数据库设计中的三大范式,并结合Java数据库连接(JDBC)技术,讲解如何在实际开发中应用这些概念。通过实例和图表,帮助读者更好地理解范式理论及其在数据操作中的重要性。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • 本文探讨了在Oracle数据库中,动态SQL语句的执行及其对事务管理的影响,特别是关于回滚操作的有效性。重点讨论了一个具体场景:将预警短信从当前表迁移到历史表时遇到的字段长度不匹配问题及相应的异常处理。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 本文将深入探讨使用IMPDP工具进行分区表导入时需要注意的事项,涵盖最佳实践和常见问题。通过详细的分析与解释,帮助读者更好地理解和应用这些知识。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 探讨如何使用正则表达式从类 SQL 查询语句中提取字段及其对应的值。 ... [详细]
  • TCP长连接设备管理平台:架构与功能概览
    本文介绍了基于TCP长连接的设备管理平台的设计理念、技术选型及主要功能模块。最初,项目旨在实现简单的协议测试,但随着需求扩展,逐步演变为一个完整的前后端分离系统。 ... [详细]
author-avatar
这个世界我看不懂2011_595
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有