我一有个存储过程,执行非常慢,调试一次往往要等两个多小时
每次执行sql developer的输出界面都是假死状态为了了解此存储过程执行的进度, 我在存储过程中放置了这样的语句:
IF (MOD(CUR_PEPL%ROWCOUNT, 1000) = 0) THEN DBMS_OUTPUT.PUT_LINE(CUR_PEPL%ROWCOUNT ||' RECORDS HAS BEEN PROCESSED AT ' || TO_CHAR(SYSDATE,'MM/DD/YYYY HH:MI:SS') || ', CONTINUE...');END IF;
即每1000行处理完成打印提示信息.但是让我失望的是, 实际执行的过程中, sql控制台并不打印输出信息,
一旦整个过程执行完毕了,sql控制台会在五秒之内突然把所有的dbms_output信息全部打出来这样, 我对执行进度的跟踪就失效了.哪位大哥处理过类似的问题给个方案, 谢谢了!
每次执行sql developer的输出界面都是假死状态为了了解此存储过程执行的进度, 我在存储过程中放置了这样的语句:
IF (MOD(CUR_PEPL%ROWCOUNT, 1000) = 0) THEN DBMS_OUTPUT.PUT_LINE(CUR_PEPL%ROWCOUNT ||' RECORDS HAS BEEN PROCESSED AT ' || TO_CHAR(SYSDATE,'MM/DD/YYYY HH:MI:SS') || ', CONTINUE...');END IF;
即每1000行处理完成打印提示信息.但是让我失望的是, 实际执行的过程中, sql控制台并不打印输出信息,
一旦整个过程执行完毕了,sql控制台会在五秒之内突然把所有的dbms_output信息全部打出来这样, 我对执行进度的跟踪就失效了.哪位大哥处理过类似的问题给个方案, 谢谢了!
解决方案 »
- Oracle 插入blob字段的效率问题
- 数据库登陆错误
- 通过服务命连接oracle数据库,在配置网络服务名时点击测试一直没有反应
- 求助:ORA-01719
- 大家帮我看个PLSQL编程的基础问题
- 如何在命令行调用oracle编译工具编译PL/SQL过程? 有谁开发过PL/SQL编辑器,或者提供点思路。
- 50分!怎么查出"ORA-01722: 无效数字错误"的记录,我把一个万条记录的一个字符型字段转换成数字型时出现这个报错,但是又查不到这个记录!急
- 关于number字段类型的问题
- !急急!SQL===>Oracle数据转换问题
- ora-12154 tns:无法处理服务名?(文出,马上界铁,不出,也是)才鸟
- 这个Triger怎么写???
- a库里的long数据要复制到B库里
我用TOAD就可以实现这个功能
过大的次数,我是把需要的信息写到表里来定位的.
我不单步,一次执行下来就得两个多小时,
单步执行, 就算按着ctrl+N不放, 一天也不定能执行完啊
oracle里面写文件的那个包要是非独占模式的,
倒是可以试试, 就是麻烦了点.有没有办法直接让dbms_output实时输出哦?
如果想实时输出可以通过写表或者写日志的方式进行。