校验1万行的一个数据表,希望每校验100行就输出一下进度。
if mod(v_count,100) = 0 then
commit;
DBMS_OUTPUT.put_line(v_count);
end if;
用这个语句的结果是存储过程执行完一下子输出所产生的所有结果。
并不是每100条一输出。
不知道如何解决,求助。
...全文
5397打赏收藏
如何显示存储过程执行进度
校验1万行的一个数据表,希望每校验100行就输出一下进度。 if mod(v_count,100) = 0 then commit; DBMS_OUTPUT.put_line(v_count); end if; 用这个语句的结果是存储过程执行完一下子输出所产生的所有结果。 并不是每100条一输出。 不知道如何解决,求助。
create or replace procedure get_process(p_count in number)
as
PRAGMA AUTONOMOUS_TRANSACTION;
begin
update process set curr = p_count;
commit;
end;
/
下面开始调用get_process
begin
insert into process(total) values(10000);
for i in 1..10000 loop
if mod(i,100) = 0 then
commit;
get_process(i);
end if;
end loop;
end;
/