我在pb中调用存储过程,但是总是执行不完,不知道为什么?我试过在sql plus 中大概两个小时执行完,可是在程序中两天
也执行不完。我的调用方法如下:
DECLARE wa_pay PROCEDURE FOR report_dbms(:llyear,:llmonth);
    execute wa_pay;
    fetch wa_pay into :llflag;
    close wa_pay;llflag得到的是存储过程的返回值

解决方案 »

  1.   

    执行时,查看下top sql 之类的吧。
    看是否索引什么的有问题。
      

  2.   

    查看top sql 是什么意思?
      

  3.   


    1.查看等待
     
      select sid,event,p1,p1text from v$session_wait查看执行时,是哪个session的等待比较严重。2.捕获sql  select sql_text from v$sqltext a where a.hash_value=(select hash_value from v$session b where b.sid='&sid') order by piece asc
     
    看捕获到的sql语句与你在sqlplus直接执行是否有差别。
    或者开启autotrace,查看下执行计划。
      

  4.   

    同意开启autotrace,查看下执行计划。
      

  5.   

    test windows 测试下存储过程中的拼接sql