ORACLE PL/SQL 利用自治事务实现日志记录
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,程序中通常都要实现日志记录功能,尤其是事务发生报错时的错误日志。如果把日志记录在数据库中,可以方便后续的查询和分析。但是如果直接把记录日志的共能写在事务中,如果事务发生ROLLBACK,记录的日志也会
千家信息网最后更新 2026年11月01日ORACLE PL/SQL 利用自治事务实现日志记录程序中通常都要实现日志记录功能,尤其是事务发生报错时的错误日志。如果把日志记录在数据库中,可以方便后续的查询和分析。但是如果直接把记录日志的共能写在事务中,如果事务发生ROLLBACK,记录的日志也会发生ROLLBACK,明显时不合适的。但是使用自治事务可以很方便的实现日志记录功能,并且不会受主事务的影响。下面实现一个简单的日志记录例子。
1. 创建日志记录表
创建日志包可以方便统一管理日志记录,并且可以实现自治事务。
log package 包含两个procedure:putline和saveline,putline实现日志插入,saveline时一个自治事务,调用putline。在程序中记录日志时可以直接调用saveline实现。
选择一个不存在的数据,查看logtab里的记录
1. 创建日志记录表
点击(此处)折叠或打开
- create table logtab (
- code integer,
- text varchar2(4000),
- created_on date,
- created_by varchar2(50),
- changed_on date,
- changed_by varchar2(50)
- );
创建日志包可以方便统一管理日志记录,并且可以实现自治事务。
log package 包含两个procedure:putline和saveline,putline实现日志插入,saveline时一个自治事务,调用putline。在程序中记录日志时可以直接调用saveline实现。
点击(此处)折叠或打开
- create or replace package log
- is
- procedure putline(code_in in integer, text_in in varchar2);
- procedure saveline(code_in in integer, text_in in varchar2);
- end log;
- /
- create or replace package body log
- is
- procedure putline(
- code_in in integer,text_in in varchar2)
- is
- begin
- insert into logtab
- values(code_in,text_in,sysdate,user,sysdate,user);
- end;
- procedure saveline(
- code_in in integer,text_in in varchar2)
- is
- pragma autonomous_transaction;
- begin
- putline(code_in, text_in);
- commit;
- exception when others then rollback;
- end;
- end log;
- /
选择一个不存在的数据,查看logtab里的记录
点击(此处)折叠或打开
- declare
- sal pls_integer;
- begin
- select salary into sal from employees where employee_id = 11111;
- exception
- when others
- then sys.log.saveline(sqlcode,sqlerrm);
- end;
- /
点击(此处)折叠或打开
- select * from logtab;
- CODE TEXT CREATED_O CREATE_BY CHANGE_ON CHANGE_BY
- ---------- ------------------------------ --------- ---------- --------- ----------
- 100 ORA-01403: no data found 10-JUN-18 SYS 10-JUN-18 SYS
日志
事务
自治
例子
功能
数据
程序
合适
明显
两个
数据库
记录表
错误
分析
影响
查询
管理
统一
选择
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡网
互联网科技图片
湖北九亚互联网络科技有限公司
深圳市人人互联网科技有限公司
圆梦互联网科技
疫情对互联网科技公司影响
互联网科技的
中资互联网科技
华中科技大学互联网
上游互联网科技
互联网科技素材视频竖屏
现代科技和互联网有关系吗
崇明区互联网教育科技诚信经营
无锡工业互联网科技有限公司
工业互联网科技成果转化
长沙渺峰互联网科技有限公司
张家口科技产业互联网平台
米泉互联网科技专业怎么样
唐山双旺合互联网科技产业园
恒生科技指数 中概互联网
互联网通讯科技
狮子座互联网科技培训
盛创互联网科技有限公司
亳州好赞互联网科技有限公司
深圳互联网科技的发展
半导体是互联网高科技吗
九思连强互联网电子科技有限公司
世界互联网科技成果奖
众联互联网络科技
北京瑞云互联网科技有限公司