trace工具,如果你想在当前session 会话(sqlplus)当中看的换,直接执行 set autotrace on,再执行你的sql就可以看到执行计划,也可以保存成trc文件,使用tkprof工具转义后查看。
PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据 *** 作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等 *** 作实现复杂的功能或者计算的程序语言。
在SQLPLUS中可以直接运行declare申明的plsql程序段
用第三方工具plsql developer也可以test plsql程序段、存储过程函数
C#、java等申明后也可以执行plsql程序
1.
打开PL/SQL
Developer如果
在机器上安装了PL/SQL
Developer的话,打开PL/SQL
Developer界面输入
用户名,密码和host名字,这个跟在程序中webconfig中配置的完全相同,点击确定
找到
需要调试的存储过程所在的包(Package
bodies),如PACK_ACTIVITY,点击右键,在d出菜单中选择[查看],得到包中的所有存储过程和他们的代码
2.
添加debug信息为了
能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在d出菜单中选中[添加调试信息](这个很重要)这样
就为包体添加了调试信息。
3.
调
试存储过程现在
所有的准备工作都做好了,可以调试跟踪存储过程了。选择
需要调试的存储过程,点击右键,在d出菜单中
选择[测试],进去测试窗口测试窗口中有为了测试该存储过程自动所产生的代码,当然你也可以自己另外加入和修改代码,对于我们目前只是为了调试存储过程,
自动生成的代码已经足够了。接着按照如下的步骤进行调试。
(1)添加存储过程所需要的参数,我们项目中的大多数存储过程都是需要参数
的,参数可以在测试窗口右下部分输入。如:GetPanNO_New需要一个输入参数v_employeeid,我们输入180,输出参数是mycursor,是查看结果的,不需要输入任何值。
(2)开始调试,点击[调试]菜单->[开始](或者按F9),就进去调试模式了,程序开始停在begin这一行
(3)以后的调试过程跟我们熟悉的的调试过程就一样了:运行(Ctrl+R)单步
进入(Ctrl+N)单步
跳过(Ctrl+O)单步
退出(Ctrl+T)或者
点击debug工具条上的按扭:当按Ctrl+N进去存储过程的源代码中后
在这
个窗口中可以查看过程中的变量值和堆栈。
(4)调试运行完了后,可以查看结果如下(点击mycursor变量旁边的按钮)
4.
Tip
令人
比较郁闷的是我们项目中很多的存储过程都是一个SELECT语句,不管这个SELECT语句多么复杂(SELECT语句中有嵌套的子SELECT语句),它也只能作为一行代码,单步跟踪就没有什么意义了。
存储过程是 PLSQL 的一个方面的应用,而 PLSQL 是存储过程的基础。
即存储过程需要用到 PLSQL
创建无参存储过程 hello ,无返回值
语法:
删除存储 hello ,语法 drop procedure 过程名
调用存储过程方式一: exec 过程名
exec hello;
调用过程存储方式二: PLSQL 程序
调用过程存储方式三: Java 程序 CallableStatement 接口
创建有存储过程的 raiseSalary (编号),为7369号员工涨工资10%,演示in的语法,大小写不敏感
创建有参存储过程 findEmpNameAndSalAndJob (编号),查询7788号员工的姓名,职位,月薪,返回多个值,演示 out 的用法
用存储过程,写一个计算个人所得税的功能
以上就是关于Oracle中有没有什么工具 可以像MSSQL的Profiler工具一样实时跟踪被执行的SQL语句全部的内容,包括:Oracle中有没有什么工具 可以像MSSQL的Profiler工具一样实时跟踪被执行的SQL语句、PL/SQL程序在哪里执行,困惑,说的详细些……谢谢、在PLSQL中触发器如何调试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)