-- 显示产品资费等 create or replace procedure show_old_discnts_2(product_ioid_id0 number) is ------- 异常处理变量 v_id number(20); v_err_code number; v_err_info varchar2(200); ------表相关变量 type product_tab_type is table of product_t%rowtype index by pls_integer; product_tab product_tab_type; -- 测试时间变量 start_time number(20,3); end_time number(20,3); begin select dbms_utility.get_time into start_time from dual;
select * bulk collect into product_tab from product_t; for i in product_tab.FIRST .. product_tab.LAST loop dbms_output.put_line(product_tab(i).name); end loop; select dbms_utility.get_time into end_time from dual; dbms_output.put_line('times: ' || (end_time-start_time)); -- 异常处理通用方法 Exception when OTHERS then v_err_code:=SQLCODE; v_err_info:=substr(SQLERRM,1,200); dbms_output.put_line('ora-'||v_err_code||v_err_info);
create or replace procedure show_old_discnts_2(product_ioid_id0 number) is
------- 异常处理变量
v_id number(20);
v_err_code number;
v_err_info varchar2(200);
------表相关变量
type product_tab_type is table of product_t%rowtype index by pls_integer;
product_tab product_tab_type;
-- 测试时间变量
start_time number(20,3);
end_time number(20,3);
begin
select dbms_utility.get_time into start_time from dual;
select * bulk collect into product_tab from product_t;
for i in product_tab.FIRST .. product_tab.LAST loop
dbms_output.put_line(product_tab(i).name);
end loop;
select dbms_utility.get_time into end_time from dual;
dbms_output.put_line('times: ' || (end_time-start_time));
-- 异常处理通用方法
Exception
when OTHERS then
v_err_code:=SQLCODE;
v_err_info:=substr(SQLERRM,1,200);
dbms_output.put_line('ora-'||v_err_code||v_err_info);
end show_old_discnts_2;
这代码还可以优化?
你说输出到屏幕上,就是滚屏的速度慢,应该不是dbms_output.put_line本身的速度慢。