Oracle查询定时器、触发器相关操作

Oracle查询定时器、触发器相关操作

 

--查看定时任务  

字段含义:--查看定时任务  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 字段进行同步替换

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栗子~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值