Oracle查詢定時器 觸發器相關操作

2021-08-28 10:35:25 字數 1626 閱讀 4973

--檢視定時任務  

字段含義:--檢視定時任務  total_time 是次數 broken n表示未中斷 

what執行任務(只能是儲存過程 ,儲存過程在oracle中的procedures下) interval 間隔

select * from user_jobs

--檢視正在執行的定時任務

select * from dba_jobs_running;

--宣告變數

variable job2017 number;      

begin

dbms_job.submit(:job2017,'pkg_nrms_operation.clean_dirty_data;',sysdate,'trunc(sysdate)+1+1/(24)');

end;    

--啟用作業

begin

dbms_job.run(:job2017);

end;      

--刪除作業

begin

dbms_job.remove(103);

end;

--停止乙個已啟動的定時任務   

begin

dbms_job.broken(64, true, sysdate);

end;

--檢視程序數 命令語句 並不是sql

show parameter job_queue_processes;

--停止正在執行的job

select sid,serial# from v$session where sid='&sid';

alter system kill session '&sid,&serial';

--用於修改interval引數值

dbms_job.interval(103, 'trunc(sysdate + 1)'); --修改為每隔一天執行一次

--用於修改next_date引數值

dbms_job.next_date(jobno,  trunc(sysdate + 1)); --修改最近一次待執行的時間至明天凌晨

--packages裡只有儲存過程和函式,(檢視相當於虛擬表) package bodies 包體相當於包的內容

create or replace trigger change_task

before insert or update or delete on tsm_check_task for each row

declare

restag varchar2(128);

begin

if inserting or updating then

select fldrestag into restag from tsm_check_rule where fldid = :new.fldcheckrule;

:new.fldrestag := restag;

end if;

exception when others then  null;

end;

大白話:

當tsm_check_task進行插入、修改、刪除時

tsm_check_rule 裡fldrestag 字段進行同步替換

定時觸發器

file name 技能模組第一版 author clark 陳澤丹 created 2012 11 07 purpose module 程式 package.seeall pack gameapi require 系統介面 時間觸發器管理者 function new timer manager l...

ORACLE觸發器 行級觸發器

行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸發器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例乙個簡單的...

Oracle觸發器介紹 行級觸發器

行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸 髮器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例一 個簡...