日志表(自用)

这段代码首先删除名为ELOG的表,然后创建一个新的ELOG表结构,包含ID、START_TIME、END_TIME、DURATION、SUC、ERROR_MESSAGE和ERROR_DETAIL字段。在PL/SQL块中,它尝试插入一条记录并处理可能出现的异常。如果发生错误,会回滚事务,记录错误信息并再次提交。
摘要由CSDN通过智能技术生成

DROP TABLE ELOG PURGE;


CREATE TABLE ELOG(
ID NUMBER(6) GENERATED AS IDENTITY,
START_TIME TIMESTAMP,
END_TIME TIMESTAMP,
DURATION AS (END_TIME-START_TIME),
SUC CHAR(1),
ERROR_MESSAGE CLOB,
ERROR_DETAIL CLOB);

DECLARE

  STIME TIMESTAMP;

  ERROR_DETAIL CLOB;

  ERROR_MESSAGE CLOB;

BEGIN

  STIME:=SYSTIMESTAMP;

  --

  -- 要执行的代码

  --

  INSERT INTO ELOG(START_TIME,END_TIME,SUC,ERROR_MESSAGE,ERROR_DETAIL)

                VALUES (STIME,SYSTIMESTAMP,'T',NULL,NULL);

  COMMIT;

EXCEPTION

  WHEN OTHERS THEN

    ROLLBACK;

    ERROR_MESSAGE:=SQLERRM;

    ERROR_DETAIL:=DBMS_UTILITY.FORMAT_ERROR_BACKTRACE;

    INSERT INTO ELOG(START_TIME,END_TIME,SUC,ERROR_MESSAGE,ERROR_DETAIL)

                VALUES(STIME,SYSTIMESTAMP,'F',ERROR_MESSAGE,ERROR_DETAIL);

    COMMIT;

END;

/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值