select count(1) into v_count from v$open_cursor where sql_text like '%procedure_name%'
if v_count>0 then
正在运行。
else
没有在运行。
end if;
if v_count>0 then
正在运行。
else
没有在运行。
end if;
解决方案 »
- 数据库备份错误!求解决方法??
- 配置ASM时,出现以下报错Marking disk "VOL1" as an ASM disk:[FAILED]
- 挑战性问题!期待高手或oracle技术支持!
- 寻求可以同时批量在ORACLE里执行过程或者SQL语句的工具
- oracle 查询总记录数问题
- 如何根据oracle已排好序的树,返回每个结点对应的诸如1.1,1.11,1,2之类的序号
- 使用ERP,如何与服务器的连接?
- 请问很简单的Insert Into语句包括varchar(4000) 的记录,字段超长时为会不会报错?
- 如何取的一点字符的前几个字符
- 使用SQL语句向Oracle.8.1.7的Blob字段插入较长16进制编码字符串的问题
- Oracle有没有类似mssql的企业管理器的东东啊
- 在oracle中,有没有类似SQL中的通配符?
增加一个表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;