-- 存储过程同步数的 异常日志
CREATE OR REPLACE PROCEDURE SP_EMP_0615
IS
---- 定义记录日志所需的变量
V_SP_NAME VARCHAR2(30) ; -- 过程名称
V_SP_STATUS VARCHAR2(12) ; -- 执行状态
V_START_DATE DATE ; -- 开始同步时间
V_FINSH_DATE DATE ; -- 完成同步时间
V_SP_DESC VARCHAR2(50) ; -- 描述
BEGIN
--------- 初始化变量
V_SP_NAME := 'SP_EMP_0615' ; -- 过程名称
V_SP_STATUS := '开始' ; -- 执行状态
V_START_DATE := SYSDATE ; -- 开始同步时间
-- 记录开始日志
SP_T_LOG( V_SP_NAME, -- 过程名称
V_SP_STATUS, -- 执行状态
V_START_DATE , -- 开始同步时间
V_FINSH_DATE, -- 完成同步时间
V_SP_DESC); -- 描述
---------------------------------------- 开始同步数据 ------------------------------------------
DELETE FROM EMP_0615 WHERE 1 = 1 ;
INSERT INTO EMP_0615(EMPNO,
ENAME,
SAL,
HIREDATE,
LAST_UPDATE_DATE)
SELECT EMPNO ,
ENAME ,
SAL ,
HIREDATE ,
SYSDATE
FROM EMP ;
COMMIT ;
---------------------------------------- 同步数据完成 ------------------------------------------
----------- 再次初始化变量
V_SP_STATUS := '完成' ; -- 执行状态
V_FINSH_DATE := SYSDATE ; -- 完成同步时间
-- 记录完成日志
SP_T_LOG( V_SP_NAME, -- 过程名称
V_SP_STATUS, -- 执行状态
V_START_DATE , -- 开始同步时间
V_FINSH_DATE, -- 完成同步时间
V_SP_DESC); -- 描述
---- 异常处理部分 ,如果存储过程执行过程中没有出现异常,这部分代码是不会执行的
EXCEPTION
WHEN OTHERS THEN -- 判断只要出现异常 ,那么执行下面的动作
-- 动作1 回滚数据
ROLLBACK ;
-- 动作2 记录异常日志
V_SP_STATUS := '错误' ; -- 执行状态
V_SP_DESC := SQLERRM ; -- 异常信息
SP_T_LOG( V_SP_NAME, -- 过程名称
V_SP_STATUS, -- 执行状态
V_START_DATE , -- 开始同步时间
V_FINSH_DATE, -- 完成同步时间
V_SP_DESC); -- 描述
END SP_EMP_0615;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




