create or replace proceduce "PROC_MY_TEST"(IN_P1 IN VARCHAR2, IN_P2 IN VARCHAR2) AS
V_SQL VARCHAR2(4000);
V_ERRCODE VARCHAR2(10);
V_ERRMSG VARCHAR2(3000);
MY_EXP EXCEPTION;
BEGIN
-- test
RAISE MY_EXP;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
V_ERRCODE := SQLCODE;
V_ERRMSG := SQLERRM;
INSERT INTO ERR_LOG
(CODE, MSG, SQL_TEXT, BATCH_DATE)
VALUES
(V_ERRCODE, V_ERRMSG, V_SQL, IN_P1);
COMMIT;
RAISE_APPLICATION_ERROR(-20001, 'PROC_MY_TEST ERROR');
END;
ORACLE之存储过程异常捕获并抛出
最新推荐文章于 2024-05-09 10:41:33 发布