一、
首先還是得有個儲存過程,假如名稱是myproc。
二、建立job,在 sql行 下:
variable job_no number;
begin
dbms_job.submit(:job_no,
'myproc;',
sysdate,
'sysdate+1/1440');
commit;
end;
其中job_no是該作業的唯一標識,這裡由系統生成。
儲存過程名後面要接乙個分號。
sysdate+1/1440表示每分鐘執行一次。
如果想定在某個時間執行,例如隔n 天的m 點執行。
則為trunc(sysdate+n )+m *60/(24*60)。
三、檢視資料庫中的job:
select * from dba_jobs;
其中what 字段表示作業需要執行的儲存過程名稱。
四、根據job id刪除job:
begin
dbms_job.remove(jobid);
commit;
end;
必須在命令列 下執行。
五、根據job id停止job:
sql> execute dbms_job.broken(702, true);
pl/sql procedure successfully completed
sql> commit;
commit complete
其中的702就是job id,要commit。必須在命令列下執行。 建立JOB定時執行儲存過程
建立job定時執行儲存過程有兩種方式 方式1 通過plsql手動配置job,如下圖 方式2 通過sql語句,如下sql declare job opautodta pls integer 宣告乙個jobid begin sys.dbms job.submit job job opautodta,wh...
Oracle新增job定時執行儲存過程
1 建立儲存過程 刪除臨時表 createorreplaceproceduresp gs clear temp tablesis tmp tbl namevarchar 30 sqltextvarchar 255 cursorcur tmp tablesisselectobject namefrom...
oracle 建立儲存過程 在job 定時執行
一 建立儲存過程。create or replace procedure upd pickup weight is begin update hk delivercost detail deltdetl set deltdetl.pickup weight select nvl hkpictdetl...