mysql定时sql脚本_定时执行的SQL脚本
因?yàn)橐揭粋€(gè)表,所以每天要同步一次數(shù)據(jù),但是對SQL不是精通的我,為了測試寫了一段代碼來測試定時(shí)功能
創(chuàng)建一個(gè)存儲(chǔ)過程,是用來插數(shù)據(jù)的,沒有輸出和輸出參數(shù)
create or replace procedure temp_pro as
begin
insert into demopa18 values('3','cloduy','女','23');
commit;
end temp_pro;
然后就是要設(shè)置定時(shí)調(diào)用這個(gè)存儲(chǔ)過程的命令了,主要是用到了oracle中的dbms_job包
SQL> variable num number;
SQL> begin
2? dbms_job.submit(:num,'temp_pro;',sysdate,
3? 'sysdate+1/360');
4? commit;
5? end;
6? /
其中首先定義個(gè)num變量,這個(gè)變量是用來存儲(chǔ)任務(wù)號(hào)的,任務(wù)號(hào)我估計(jì)是隨機(jī)產(chǎn)生的。然后接著是存儲(chǔ)過程名字,sysdate為下次執(zhí)行的時(shí)間,'sysdate+1/360'為間隔時(shí)間,如果這里為空,這個(gè)任務(wù)在執(zhí)行后是會(huì)被刪除的。就不能每次都定時(shí)執(zhí)行了。關(guān)于定時(shí)執(zhí)行的具體格式如下
dbms_job.submit( job out binary_integer,
what in archar2,
next_date in date,
interval in varchar2,
no_parse in boolean)
其中:
●job:輸出變量,是此任務(wù)在任務(wù)隊(duì)列中的編號(hào);
●what:執(zhí)行的任務(wù)的名稱及其輸入?yún)?shù);
●next_date:任務(wù)執(zhí)行的時(shí)間;
●interval:任務(wù)執(zhí)行的時(shí)間間隔。
這樣的命令應(yīng)該要切換到命令窗口去做,不能在SQL窗口做。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的mysql定时sql脚本_定时执行的SQL脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡账单日前一天还款
- 下一篇: php header 404 nginx