先創建一個存儲過程- sql窗口
create or replace procedure p_dzda
as
begin
insert into dzda_sbqk
select s.sbxh,
s.djxh,
s.nsrsbh,
s.zsxm_dm,
s.sbzl_dm,
s.sbzt_dm,
s.skssqq,
s.skssqz,
to_char(s.pzxh),
s.lrsj,
s.xgsj,
sysdate,
sysdate,
'00',
'0',
'',
s.gds_bz,
s.sbrq,
s.swjg_dm
from sb_sbqk s
where s.sbzt_dm = '0000'
and s.pzxh is not null
and s.sbxh not in (select s.sbxh from dzda_sbqk s);
end;
格式:create or replace procedure p_dzda //創建存儲過程名稱
as
begin
--裏面是需要運行的sql腳本
end;
很顯然,每次執行這個存儲過程就是新增數據
一般我們用oralce自帶的定時器去定時執行
定時器:命令窗口
var job number
begin
sys.dbms_job.submit(job => :job,
what => 'p_dzda;',
next_date => to_date('23-04-2020 15:33:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'TRUNC(sysdate,''mi'')+5/(24*60)');
commit;
end;
/
var job number //定義一個job名字
begin
sys.dbms_job.submit(job => :job, //定義的job名字
what => 'p_dzda;', //存儲過程名字
next_date => to_date('23-04-2020 15:33:00', 'dd-mm-yyyy hh24:mi:ss'), //下一次執行時間
interval => 'TRUNC(sysdate,''mi'')+5/(24*60)'); //每次執行間隔時間 這個爲5分鐘
commit;
end;
/
備註:存儲過程可以查詢 user_source
定時器可以查詢 user_jobs