我的过程什么都没做 就是直接调用视图。 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秒以上, 赋的参数都一样,可就是慢,头疼啊!
就是直接调用视图。
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秒以上,
赋的参数都一样,可就是慢,头疼啊!
SQL这个变量在哪里定义的?你是不是写的不对?或者过程的代码没有粘全啊 ?