目录
1.创建存储过程
CREATE OR REPLACE PROCEDURE "CHECK_EXPORT_OF_CXH" -- ********************************************************************************** -- SYSTEM: -- SUBSYS: 检测城商行逆向文件导出情况 -- PROGRAM: CHECK_EXPORT_OF_CXH -- RELATED TAB: -- SUBPROG: -- REFERENCE: -- DESCRIPTION: 检测城商行逆向文件导出情况,未导出发送邮件提醒,由定时任务调用 -- INPUT: -- RETURN: -- AUTHOR: ZZF -- CREATE DATE: 2020-10-22 -- EDIT HISTORY: -- VERSION: V1.0 -- ********************************************************************************** as count_of_noexport VARCHAR2(20);--临时变量 Information VARCHAR2(30); PO_SID VARCHAR2(200); PO_RETCODE VARCHAR2(200); --返回代码 PO_RETMSG VARCHAR2(200); --返回信息 begin SELECT COUNT(*) into count_of_noexport FROM V_HQ_GETCSHNXFILE WHERE STATUS='未导出'; IF count_of_noexport>0 --IF THEN END IF的用法; THEN Information:='城商行逆向文件还有'||count_of_noexport||'家未导出'; --临时变量赋值,用字符串拼接用|| clweb_send_mail(null,newid(),Information,null,'zhangzhifeng@erichfund.com',PO_SID,PO_RETCODE,PO_RETMSG);--调用另一个存储过程,需要注意OUT参数要在调用的地方声明传递,用以接收返回值 log_p_write_exec_time_log('CHECK_EXPORT_OF_CXH','CHECK_EXPORT_OF_CXH_SendMail',null,null); END IF; --异常处理 COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; end ;
2.创建定时JOB
PLSQL新建一个JOB选项
Interval几种常用的写法:
1:每分钟执行
Interval => TRUNC(sysdate,'mi') + 1/ (24*60)
或
Inter
val => sysdate+1/1440
2:每天定时执行
例如:每天的凌晨1点执行
Interval => TRUNC(sysdate) + 1 +1/ (24)
3:每周定时执行
例如:每周一凌晨1点执行
Interval => TRUNC(next_day(sysdate,'星期一'))+1/24
4:每月定时执行
例如:每月1日凌晨1点执行
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24
5:每季度定时执行
例如每季度的第一天凌晨1点执行
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
6:每半年定时执行
例如:每年7月1日和1月1日凌晨1点
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
7:每年定时执行
例如:每年1月1日凌晨1点执行
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24