调试存储过程(oracle的存储过程怎么调试)
本文目录
oracle的存储过程怎么调试
方法/步骤
首先在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。错误原因明朗了吧?就是变量没有赋值或者初始话,给该变量赋值后存过就不报错了。
如何调试存储过程有什么好的工具吗
1.打开PL/SQL Developer如果在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面输入用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定找到需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择,得到包中的所有存储过程和他们的代码.2.添加debug信息为了能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在弹出菜单中选中.这样就为包体添加了调试信息。3.调试存储过程现在所有的准备工作都做好了,可以调试跟踪存储过程了。
mysql怎么调试存储过程
mysql调试存储过程具体方法:在你的存储过程中加入如下语句:SELECT变量1,变量2;然后用mysql自带的cmd程序进入mysql》下。call你的存储过程名(输入参数1,@输出参数);(注:这里帮助下新同学,如果你的存储过程有输出变量,那么在这里只需要加@然后跟任意变量名即可);即可发现你的变量值被打印到了cmd下
plsql调试存储过程执行卡住
1、存储过程中是否有 LOOP ?如果有 的在end loop 添加 EXIT WHEN 游标名%NOTFOUND (意思是如果没有这个游标,就跳出)2、没有loop 的话手动停止掉当前的存储过程吧。语句如下:--先查运行的存储过程sidselect /*rule*/ sid from v$access where object=’存储过程名’--通过sid 找到serialselect sid ,serial#,paddr from v$session where sid=’上一句查到的sid’--kill 掉存储过程alter system kill session ’sid’,’serial#’
sqlserver存储过程怎么调试
如何在sqlserver中调试存储过程(我们公司使用的是sqlserver 2008 R2),猛地一看,和以前使用sqlserver 2000真的有很大的不同,我真晕了。 于是琢磨了一下。SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要调试,必须要安装VS2005专业版或者更高版本。非常不方便。 还好,SQLSERVER 2008中这个很重要而且方便的功能又回来了。 不过,SQLSERVER 2008的调试功能和SQL2000的方法差别很大。SQL2000是在查询分析器中的对象浏览器中选中需要调试的存储过程,右键----调试---输入参数开始调试。 sqlserver2008中则完全不同,变成了必须要在SSMS中EXEC @VAR1,@VAR2,然后点绿色三角或者点菜单中的调试---启动调试。然后点工具栏的最右边的单步调试或者跳出等。下面的变量窗口和堆栈窗口等可以查看调试中变量等动态变化值。 sqlserver2008调试的要求和条件:如果在引擎所在的电脑或服务器上调试,则只需要SA或者WINDOWS用户登陆即可。如果是异地调试,则需要设置防火墙例外,增加SSMS和SQLSERVER.EXE为允许,增加135端口允许通过。 总之,SQL2008的调试比2000操作起来麻烦多了,要求也多了。刚开始感觉不如2000的好用,也可能是使用2000习惯了。习惯是可怕的,但是微软是在不断进步的...
sql调用存储过程
sql调用存储过程:存储过程里用exec 执行另一存储过程名及它需要的参数就可以了 如 exec abc ’1’, ’2’(abc 是存储过程的名字, ’1’,’2’ 是它的参数。
拓展资料:
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
更多文章:
oppor7plus支持电信卡吗(OPPOr7plus能用电信卡)
2024年6月4日 09:28
苹果5s手机功能介绍(苹果5s都有什么功能,苹果5s功能介绍)
2024年6月3日 14:01
三星x199铃声(请问CDMA手机三星X199怎样下载铃声和图片)
2023年7月31日 08:20
huawei tune(华为手机或电信手机本身设置里的huawei tune)
2024年5月19日 00:31
索爱5800w(5800W和索爱的X8、华为U8800、中兴V880那款手机好)
2024年9月16日 10:10
诺基亚6700s性能相同的手机(诺基亚6700s和诺基亚6710n哪款手机好一些(从各个方面谈))
2024年8月27日 08:40
oppor823t乐蛙刷机包(oppor823t刷机多少钱在售后下软件多少钱,我没有保修卡)
2024年6月25日 14:29
三星官网商城和京东价格不一样(三星 Note 3京东 和 官网差价怎么这么大)
2024年7月31日 21:30
诺基亚6120ci恢复出厂设置(诺基亚6120ci手机恢复出厂设置、的PN码是多少啊)
2024年9月14日 00:10