定時執行的SQL指令碼

2021-04-02 23:43:11 字數 1072 閱讀 9615

因為要同步乙個表,所以每天要同步一次資料,但是對sql不是精通的我,為了測試寫了一段**來測試定時功能

建立乙個儲存過程,是用來插資料的,沒有輸出和輸出引數

create or replace procedure temp_pro as

begin

insert into demopa18 values('3','cloduy','女','23');

commit;

end temp_pro;

然後就是要設定定時呼叫這個儲存過程的命令了,主要是用到了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  /

其中首先定義個num變數,這個變數是用來儲存任務號的,任務號我估計是隨機產生的。然後接著是儲存過程名字,sysdate為下次執行的時間,'sysdate+1/360'為間隔時間,如果這裡為空,這個任務在執行後是會被刪除的。就不能每次都定時執行了。關於定時執行的具體格式如下

dbms_job.submit( job out binary_integer,

what       in   archar2,

next_date     in   date,

interval     in   varchar2,

no_parse     in   boolean)

其中:

●job:輸出變數,是此任務在任務佇列中的編號;

●what:執行的任務的名稱及其輸入引數;

●next_date:任務執行的時間;

●interval:任務執行的時間間隔。

ps:今天還鬧了個笑話,讓自己汗顏,我在執行variable num number的時候是在sql視窗寫的,執行就報錯說sql語句錯誤,想了半天也不知道怎麼錯了,後來問同事才知道,這樣的命令應該要切換到命令視窗去做,不能在sql視窗做。呵呵,鄙視一下自己,也給自己提個醒

sql 定時執行

如果在sql server 裡需要定時或者每隔一段時間執行某個儲存過程或3200字元以內的sql語句時,可以用管理 sql server 作業來實現。1 管理 sql server 作業 按滑鼠右鍵 新建作業 2 新建作業屬性 常規 名稱 自定義本次作業的名稱 啟用的方框內是勾號 分類處可選擇也可用...

定時執行php指令碼

使用php定時執行某些任務的話,可以有以下兩個方法 1.l 參考 2.使用php的相關函式 set time limit 0 ignore user abort true 這裡寫乙個死迴圈 第乙個方法是最常見的,如果php伺服器上沒有許可權去crontab,也可以找乙個自己的機器定期crontab去...

windows指令碼定時執行

linux下可以直接用cron定時任務,window下可以使用schtasks 命令代替。第一次在win7 cmd輸入 schtasks 如果出現錯誤 錯誤 無法載入列表資源 的問題 原因很簡單 點選開啟鏈結 檢視編碼 chcp 發現使用的是936中文gbk編碼 這樣 schtasks.exe qu...