Oracle JOB,procedure,cursor 的使用
---TEST JOB------tablecreate table pro_test_tab( id varchar2(36), ms_content varchar2(200));select * from ytpbl.pro_test_tab;delete from pro_test_tab;-------procreate or replace procedure test_pro asbegin insert into ytpbl.pro_test_tab values('tset1','test1'); dbms_output.put_line('insert OK'); commit;end;begintest_pro;end;--test job1declare job1 number;begin sys.dbms_job.submit(job1,'test_pro;',sysdate,'sysdate+1/(24*60*60)'); --每秒执行一次commit;end;--tes job2declare jobnum number; begin dbms_job.submit(jobnum,'test_pro;',trunc(SYSDATE+1)+1/24,'SYSDATE + 30/86400'); --30秒执行一次 commit;end; --start jobbegin dbms_job.run(401); commit;end;--stop jobbegin dbms_job.broken(401,true); commit;end;--remove jobbegin dbms_job.remove(387); commit;end;-----select * from user_jobs;--查看正在运行的任务(不推荐使用,速度慢):select * from dba_jobs_running;/*job时间周期:每天运行一次 'SYSDATE + 1'每小时运行一次 'SYSDATE + 1/24'每10分钟运行一次 'SYSDATE + 10/(60*24)'每30秒运行一次 'SYSDATE + 30/(60*24*60)'每隔一星期运行一次 'SYSDATE + 7'INTERVAL : 每天重复执行一次 'SYSDATE + 1'每周重复执行一次 'SYSDATE + 7'每小时重复执行一次 'SYSDATE + 1/24'每十分钟重复执行一次 'SYSDATE + 10/1440'每30秒重复执行一次 'SYSDATE + 30/86400'中止、启动jobbegindbms_job.broken(294,TRUE); end; begindbms_job.broken(294,FALSE); end; */
页:
[1]