可以这样做
增加一个表t_proc_run(proc_name varchar2(30),flag varhcar2(10));
在存储过程执行的开始加上
select count(1) into v_temp from t_proc_run where rpoc_name='your_proc'
and flag='RUNING';
if v_temp=1 then
return;
else
update t_proc_run set flag='RUNING' where proc_name='your_proc';
commit;
end if;
在存储过程结束加上
update t_proc_run set flag='STOP' where proc_name='your_proc';
commit;