存储过程Procedure是一组为了完成特定功能的SQL语句集合,可以定时每天没个一段时间执行一次;
可以由下面的基本语句进行创建;
创建完存储过程后在数据库命令窗口执行exec procedurename,就可以执行存储过程了;
若是想要设置存储过程定时运行,可以利用dbms_job.submit添加到执行队列中
然后可以从user_jobs表中看一下在执行的存储过程都有哪些,下图就是该数据库账号下正在运行的job,“what”列中对应添加的存储过程名字,job列为该存储过程独有的ID,"broken"列正常为"N",若为"Y"则表示中断,以后不会执行,若想继续执行,在确定存储过程无误后,可以利用下面的dbms_job.run()语句重新调用执行:
如果还不到该存储过程的执行时间但是想让其立刻执行,可以利用dbms_job.run语句来实现
如果想暂停某个正在运行的job。可以用dbms_job.broken(jobid,True)来暂停,后续想要重启时可以利用dbms_job.run()正常调用:
若要删除某个存储过程的job,可以用dbms_job.remove来移除,后续想要重启时,需要用dbms_job.submit()重新添加job:
若是要是某些存储过程有关联且有先后执行顺序,可以新建一个存储过程来统一调用;
领取专属 10元无门槛券
私享最新 技术干货