oracle建立job方法
alter system enable restricted session;
--建立表
create table g_test
( id number(12),
c_date date
) select * from g_test
--建立插入資料時增長的id號
create sequence g_seq
minvalue 1
maxvalue 999999999999999999999999999
start with 141
increment by 1
cache 20;
--建立儲存過程
create or replace procedure prc_g_test is
begin
insert into g_test values(g_seq.nextval,sysdate);
end prc_g_test;
--新建job
declare
job number;
begin
sys.dbms_job.submit(job,'prc_g_test;',sysdate,'sysdate+1/1440');
end;
select * from dba_jobs;
select * from user_jobs;
--啟動job引數為job號
begin
--dbms_job.run(44); --啟動job
dbms_job.broken(44,false,sysdate); --停止job
end;
select count(*) from g_test
--檢視正在執行的job
select * from dba_jobs_running;
oracle job常見的執行時間
1、每分鐘執行
trunc(sysdate,'mi')+1/(24*60)
www.2cto.com
2、每天定時執行
例如:每天凌晨0點執行
trunc(sysdate+1)
每天凌晨1點執行
trunc(sysdate+1)+1/24
每天早上8點30分執行
trunc(sysdate+1)+(8*60+30)/(24*60)
3、每週定時執行
例如:每週一凌晨2點執行
trunc(next_day(sysdate,1))+2/24
trunc(next_day(sysdate,'星期一'))+2/24
每週二中午12點執行
trunc(next_day(sysdate,2))+12/24
trunc(next_day(sysdate,'星期二'))+12/24
4、每月定時執行
例如:每月1日凌晨0點執行
trunc(last_day(sysdate)+1)
每月1日凌晨1點執行
trunc(last_day(sysdate)+1)+1/24
5、每季度定時執行
每季度的第一天凌晨0點執行
trunc(add_months(sysdate,3),'q')
每季度的第一天凌晨2點執行
trunc(add_months(sysdate,3),'q')+2/24
每季度的最後一天的晚上11點執行
trunc(add_months(sysdate+ 2/24,3),'q')-1/24
6、每半年定時執行
例如:每年7月1日和1月1日凌晨1點執行
add_months(trunc(sysdate,'yyyy'),6)+1/24
7、每年定時執行
例如:每年1月1日凌晨2點執行
add_months(trunc(sysdate,'yyyy'),12)+2/24
oracle 建立job 語句
declare job id pls integer begin sys.dbms job.submit job job id,what prc matching 需要執行的方法 next date sysdate,執行job的時間 interval trunc sysdate 1 6 24 重新執...
在Oracle 裡面建立job
1 建立測試表 create table a a date 2 建立儲存過程 create or replace procedure b as begin insert into a values sysdate end 3 提交建立job variable aaa number begin dbm...
ORACLE 建立作業JOB例子
1.plsql中學習job 學習job 建表 create table test job para date date commit insert into test job values sysdate commit select from test job 建立存貯過程 create or re...