sql執行job
『壹』 如何用sql語句寫一個定時完成的任務的job
採用存儲過程來實現,在job中調用此存儲過程。
create or replace procere delete_proc
as
begin
execute immediate 'delete from pm_time_rule t where t.special_end_time < sysdate and t.activeflag=0';
end;
/
declare
varable job number;
begin
dbms_job.submit(:job,'delete_proc;',sysdate,'trunc(sysdate+1)');
commit;
end;
/
『貳』 SQLServer怎麼創建任務來自動執行一連串SQL語句
第一步當然是打開我們的SQLServer軟體,打開之後,我們需要找到「SQL Server Agent」,如下圖中所示。
這個時候我們需要注意的是:如果在「SQL Server Agent」的圖表左邊我們看到一個紅色的小x,這個時候就說明我們需要「start」,具體位置如下圖。
完成第二步之後,我們就可以看到,之前的小x已經消失了,會轉變為如下圖所示的樣子。
現在我們就開始來創建一個「job」,具體步驟是點擊「job」,右鍵選擇「New job」。然後我們就會看到一個創建一個新的「job」的窗口,如下圖:這個我們創建一個名為「test2」的「job」。
取好名字之後,我們就點擊「steps」進入最重要的步驟:這里我們需要把我們想要執行的sql語句按步驟一步一步的填寫好,具體步驟是點擊「New」開始每一步sql的錄入。
這里筆者只添加一步用來演示給大家看,假設我們要執行的是:「select * from test where id=001」,如下圖所示操作。
設置完成所有步驟之後,我們可以給這個「job」自動化運行的時間,具體做法是點擊「scheles」->"New" 然後就會出現設置自動化運行的時間設置窗口,如果我們希望每個月的第一天運行這個「job」,就可以入下圖所示設置。
完成設置之後,點擊「確定」,然後刷新我們的資料庫,我們就可以看到「test2」已經創建完成。