oracle中定期执行存储过程

前端之家收集整理的这篇文章主要介绍了oracle中定期执行存储过程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. --1.创建存储过程
  2. create procedure tab_auto_pro is
  3. begin
  4. insert into tab_test values('aaaa');--//此句为要执行的sql语句,多个语句之间用";"隔开
  5. end;
  6. /
  7.  
  8. --2.创建一个执行计划job
  9. Declare
  10. i Integer;
  11. Begin
  12. dbms_job.submit(i,'tab_auto_pro;',TRUNC(LAST_DAY(SYSDATE))+3+12/24);--//tab_auto_pro 为上一步创建的存储过程名称,'TRUNC(LAST_DAY(SYSDATE))+3+12/24' 每月3号12点执行一次
  13. end;
  14. /
  15.  
  16.  
  17.  
  18. --3.查看已经创建的所有执行计划
  19. Select * From user_jobs;
  20.  
  21. --4.运行执行计划
  22. Declare
  23. job_num Integer;
  24. Begin
  25. -- 查找计划号
  26. Select t.JOB Into job_num From User_Jobs t ;
  27. -- 运行制定的执行计划
  28. dbms_job.run(job_num);
  29. end;
  30. /
  31.  
  32. 经过以上步骤后即可定期执行存储过程的sql语句
  33.  
  34.  
  35.  
  36. 如果不想用此过程可执行下列操作:
  37. --6.删除oralcejob
  38. begin
  39. dbms_job.remove(84);--在user_jobs中查到的id (用Select * From user_jobs;查询
  40. commit;
  41. end;
  42. /
  43.  
  44. --7.删除存储过程
  45. drop procedure tab_auto_pro
  46.  
  47.  


参考地址:http://blog.csdn.net/u011680118/article/details/52403190

猜你在找的Oracle相关文章