如标题,谢谢

解决方案 »

  1.   

    我的过程什么都没做
    就是直接调用视图。
    procedure ****(p_*** varchar2 default null,p_*** varchar2 default null,p_*** number default
                   p_result_tbl out cursor)
    is
        str varchar2(500);
    begin
        str := 'select * from 视图 where 1=1';
        if p_*** is not null then
             str := str || ' and *** = ' || p_***;
        end if;
        .......
        if p_*** is not null then
             str := str || ' and *** = ' || p_***;
        end if;    open p_result_tbl
        for sqlend procedure我直接用视图查询很快,0.102秒,可是调用存储过程时,得等17秒以上,
    赋的参数都一样,可就是慢,头疼啊!
      

  2.   

    不调用试图,直接把生成试图的SQL语句在过程里执行返回游标!看看速度是不是慢!
    SQL这个变量在哪里定义的?你是不是写的不对?或者过程的代码没有粘全啊 ?