发现一个新情况,主存储过程的结束是不正常的。
CREATE OR REPLACE PROCEDURE "ZHJUSR"."SMAP_MAIN_PROC" AS
V_ERR_NUM
NUMBER;
V_ERR_MSG
VARCHAR2(100);
BEGIN
--为短信下行表添加分区
MP_SMS_MT_ADDPARTS_PROC(30);
--为短信上行表添加分区
MP_SMS_MO_ADDPARTS_PROC(30);
--为彩信下行表添加分区
MP_MMS_MT_ADDPARTS_PROC(30);
--为彩信上行表添加分区
MP_MMS_MO_ADDPARTS_PROC(30);
--为短信内容表添加分区
MP_SMS_CONTENT_ADDPARTS_PROC(3);
--为配额月消耗表添加分区
MP_QUOTA_MON_ADDPARTS_PROC(30);
--为配额发送量天表添加分区
MP_QUOTA_DAY_
ADDPARTS_PROC(30);
--为企业短彩信统计表添加分区
MP_EN_MT_STAT_ADDPARTS_PROC(3);
--为用户登录数统计表添加分区
MP_UR_LOGIN_STAT_ADDPARTS_PROC(3);
--为配额消耗表删除分区
MP_QUOTA_MON_DELPARTS_PROC(10);
--为短信内容表删除分区
MP_SMS_CONTENT_DELPARTS_PROC(4);
--为短信上行表删除分区
MP_SMS_MO_DELPARTS_PROC(100);
--为短信下行表删除分区
MP_SMS_MT_DELPARTS_PROC(100);
--为彩信上行表删除分区
MP_MMS_MO_DELPAR
TS_PROC(100);
--为彩信下行表删除分区
MP_MMS_MT_DELPARTS_PROC(100);
--整合企业短彩信统计表的纪录
MP_EN_MT_STAT_PROC;
--整合地区短彩信统计表的纪录
MP_AREA_MT_STAT_PROC;
--整合用户登录次数统计表的纪录
MP_UR_LOGIN_STAT_PROC;
--整合地区企业用户统计表的纪录
MP_AREA_STAT_MAIN_PROC; ------------------------------这个存储过程中没有写EXCEPTION,在它之后的存储过程没有再执行。
--停用企业历史信息备份并清理数据
MP_BAK_EN_PROC;
--停用企业用户信息清理
MP_EN_USER_PROC;
--清理上行超长短信切片清理
MP_SMS_M
O_PART_PROC;
--整合配额月消耗表的纪录
MP_QUOTA_MON_MERGE_PROC;
--清理短信主表超出三个月的数据
MP_SMS_CLEAR_PROC;
--清理彩信主表超出三个月的数据
MP_MMS_CLEAR_PROC;
--清理彩信附件表超出三个月的数据
MP_MMS_FILE_CLEAR_PROC;
MP_UPDATE_REPORTSTATUS_PROC;
INSERT INTO MP_ERR_TAB(CURDATE, SQLCODE,
SQLERRM, PROCEDURE_NAME)
VALUES(SYSDATE, 0, 'SUCCESS','SMAP_MAIN_PROC');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
V_ERR_NUM := SQLCODE;
V_ERR_MSG := SUBSTR(SQLERRM, 100);
INSERT INTO MP_ERR_TAB(CURDATE, SQLCODE, SQLERRM, PROCEDURE_NAME)
VALUES(SYSDATE, V_ERR_NUM, V_ERR_MSG,'SMAP_MAIN_PROC');
COMMIT;
END;
正常情况下,MP_ERR_TAB表中肯定会插入一条记录的
但是我在表中找不到SMAP_MAIN_PROC在20071003那天的记录
什么情况下存储过程会非正常执行呢?