oracle给存储过程写定时器,Oracle定时器调用存储过程

--创建协同提示存储过程

CREATE OR REPLACE PROCEDURE P_DC_WORK_COOPERATION_WARNING IS

V_sql VARCHAR2(1000);

BEGIN

-- 1、删除数据

V_sql:='DELETE FROM DC_WORK_COOPERATION_WARNING T

WHERE T.NAME = ''工单处理''

AND T.USER_ID IN (SELECT RU.USER_ID --用户编码

FROM DC_SYS_MENU M,--菜单表

DC_SYS_ROLE_MENU RM,--角色与菜单关系表

DC_SYS_ROLE_USER RU --用户与角色关系表

WHERE M.MENU_ID = RM.MENU_ID

AND RM.ROLE_ID = RU.ROLE_ID

AND M.MENU_NAME = ''工单处理'')';

EXECUTE IMMEDIATE V_sql ;

COMMIT;

-- 2、插入数据

INSERT INTO DC_WORK_COOPERATION_WARNING

(COOPERATION_ID,--协同编码

NAME,--协同名称

CONTENT,--协同内容

STATUS,--状态(协同默认未读编码“01”)

URL,--URL地址

USER_ID,--用户编码

CREATE_TIME --创建时间

)

SELECT SEQ_COOPERATION_WARNING.NEXTVAL AS COOPERATION_ID,--协同编码

NAME,--协同名称

CONTENT,--协同内容

STATUS,--状态(协同默认未读编码“01”)

URL,--URL地址

USER_ID,--用户编码

CREATE_TIME --创建时间

FROM (SELECT '工单处理' AS NAME,--协同名称

'有工单未处理,请及时处理!' AS CONTENT,--协同内容

'01' AS STATUS,--状态(协同默认未读编码“01”)

'http://localhost:7001/web/login.jsp' AS URL,--URL地址

RU.USER_ID,--用户编码

SYSDATE AS CREATE_TIME --创建时间

FROM DC_SYS_MENU M,--菜单表

DC_SYS_ROLE_MENU RM,--角色与菜单关系表

DC_SYS_ROLE_USER RU --用户与角色关系表

WHERE M.MENU_ID = RM.MENU_ID

AND RM.ROLE_ID = RU.ROLE_ID

AND M.MENU_NAME = '工单处理');

COMMIT;

END P_DC_WORK_COOPERATION_WARNING;

/

2、定义定时器

--删除定时器

BEGIN

FOR V IN(SELECT JOB FROM USER_JOBS WHERE WHAT LIKE '%P_DC_WORK_COOPERATION_WARNING;%') LOOP

DBMS_JOB.REMOVE(V.JOB);

END LOOP;

COMMIT;

END;

/

--定义定时器

DECLARE JOB_SYN_DATAS NUMBER;

BEGIN

SYS.DBMS_JOB.SUBMIT(JOB => JOB_SYN_DATAS,WHAT => 'P_DC_WORK_COOPERATION_WARNING;',NEXT_DATE => SYSDATE,INTERVAL => 'TRUNC(sysdate) + 1 + 6 / (24)');

COMMIT;

END;

/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值