create procedure sp is
begin
dbms_output.put_line(to_char(sysdate,'yyyymmdd hh24:mi:ss'));
insert into ...
commit;
dbms_output.put_line(to_char(sysdate,'yyyymmdd hh24:mi:ss'));
update ..
....;
commit;
dbms_output.put_line(to_char(sysdate,'yyyymmdd hh24:mi:ss'));
end;
当时是为了知道每段sql的执行时间,所以就在过程中用了dbms_output.put_line,
在pl_dev中执行该过程后,就能在output那页看到每段sql的执行时间。
现在我在job中定时执行该过程,就看不到每段sql的执行时间了,我现在不关心执行时间,也不要知道时间
现在我有疑问的是:
dbms_output.put_line在JOB中执行时对该过程的UPDATE,INSERT,DELETE会有影响吗?
begin
dbms_output.put_line(to_char(sysdate,'yyyymmdd hh24:mi:ss'));
insert into ...
commit;
dbms_output.put_line(to_char(sysdate,'yyyymmdd hh24:mi:ss'));
update ..
....;
commit;
dbms_output.put_line(to_char(sysdate,'yyyymmdd hh24:mi:ss'));
end;
当时是为了知道每段sql的执行时间,所以就在过程中用了dbms_output.put_line,
在pl_dev中执行该过程后,就能在output那页看到每段sql的执行时间。
现在我在job中定时执行该过程,就看不到每段sql的执行时间了,我现在不关心执行时间,也不要知道时间
现在我有疑问的是:
dbms_output.put_line在JOB中执行时对该过程的UPDATE,INSERT,DELETE会有影响吗?
你的JOB的那个Session,由于并未开启:set serveroutput on, 所以是没有输出的
输出日志是要花费系统时间的。
建议把dbms_output都去掉吧
是在job中执行,其实也看不到输出。
这样看来这影响就可忽略不计??
自己感觉
在pl_dev中执行该过程
与 在job 中执行该过程,
时间几乎一样,
只是一个能看到输出,另一个看不到。
可以建一张日志表,过程执行时往日志表里插入执行情况的记录