拼装话语执行存储过程

拼装语句执行存储过程本帖最后由 IceIsabel 于 2013-09-23 09:51:33 编辑create or replace procedure p_r

拼装语句执行存储过程
本帖最后由 IceIsabel 于 2013-09-23 09:51:33 编辑

create or replace procedure p_rerun_test(v_exp_time date) is
v_sql varchar2(100);
begin
  for v_proc in (select proc_name from rpt_error_log where trunc(insert_time) =trunc(v_exp_time) and success like '%ORA-02068%') loop
   v_sql:= v_proc.proc_name||'('||v_exp_time||')';
   execute immediate v_sql;
  end loop;
end;


有一个job每天自动执行,通过dblink访问另一个数据库,执行过程中有时候会断网,因此想对于因断网而执行失败的存过重新执行,就像着用动态拼装sql实现,但是执行的时候会报错??请各位大虾指教
[解决办法]
v_sql:= v_proc.proc_name
[解决办法]
'('
[解决办法]
v_exp_time
[解决办法]
')';

改为:
v_sql:= 'begin '
[解决办法]
v_proc.proc_name
[解决办法]
'('
[解决办法]
v_exp_time
[解决办法]
');  end;';