DBMS_JOB


DBMS_JOBでjobを登録すると決まった時間にSQLを実行してくれる。
alter index や analyze などを登録しておくと便利。


jobを登録する

declare job number ;

begin
	--JOBの登録
	DBMS_JOB.submit(job,										--job番号 (戻り値)
				'update wk_table1 set money  =111;',			--実行するSQL  
				 TO_DATE('200801010300','yyyymmddhh24mi') ,	--次回実行日
				SYSDATE	 + 1);							--実行間隔
	commit;
end;
/

実行するSQL にストアドプロシージャを指定することも可能。ただし、ストアドファンクションは不可)




登録されているjobを参照する

select * from user_jobs;


jobを削除する

begin
	DBMS_JOB.remove(job番号);
end;
/
commit;


jobの手動起動

execute DBMS_JOB.run(job番号);

removeやrunで使用するjob番号はuser_jobsで確認できる。