PL/SQL中job创建及删除

1.plsql中学习job 
2. 
3.--学习job 
4.--建表 
5.create table test_job(para_date date); 
6.commit; 
7. 
8.insert into test_job values(sysdate); 
9.commit; 
10.select * from test_job; 
11. 
12. 
13.--建立存贮过程 
14. 
15.create or replace procedure test_jobproce   as 
16. 
17.begin 
18. 
19.insert into test_job values(sysdate); 
20. 
21.end test_jobproce; 
22. 
23.--建立job 
24.--建立job后默认是执行的 
25. 
26.declare  test_job_really number; 
27.begin 
28.dbms_job.submit(test_job_really,'test_jobproce;',sysdate,'sysdate+1/1440'); 
29.commit; 
30.end; 
31. 
32. 
33.---停止job  25是建立的job test_job_really 
34.begin 
35.dbms_job.broken(25,true); 
36.commit; 
37.end; 
38. 
39. 
40.--启动job 
41.begin 
42.dbms_job.run(25); 
43.commit; 
44.end; 
45. 
46. 
47.--删除job 
48. 
49.begin  
50.    
51.dbms_job.remove(25); 
52.commit; 
53.end; 
54. 
55.--查看执行结果 
56.select  * from test_job order by test_job.para_date desc; 
57. 
58.--查看job 
59.select * from sys.user_jobs  
60. 
61.--使用下面的SQL查询是否JOB还在Running,前提是需要job执行时间不能过短 
62. 
63.select * from dba_jobs_running 
64. 
65. 
66. 
67. 
68.除了submit参数外,其余的几个参数有: 
69. 
70.        dbms_job.run(v_job);         //运行job 
71. 
72.        dbms_job.broken(v_job,true,next_date);        //停止一个job,里面参数true也可是false,next_date(某一时刻停止)也可是sysdate(立刻停止)。 
73. 
74.        dbms_job.remove(v_job);        //删除某个job 
75. 
76.        dbms_job.what(v_job,'sp_fact_charge_code;');        //修改某个job名 
77. 
78.        dbms_job.next_date(v_job,sysdate);        修改下一次运行时间 

猜你喜欢

转载自gaoke.iteye.com/blog/1767241
今日推荐