社区
Oracle
帖子详情
oracle存储过程记录日志!!该怎么写
lw8500179
2010-04-28 02:56:44
创建了一个日志表
/*
Id 自增序列ID
operates 操作动作(增删改操作)
description 操作内容描述
Operates_time 操作时间
Operates_user 操作人
Operates_userid 操作人id*/
如何写个存储过程记录对数据库表的增删改操作写入到日志表中呢?
对数据库表的增删改操作也是用存储过程写的。
(注:不用触发器)
...全文
1729
19
打赏
收藏
oracle存储过程记录日志!!该怎么写
创建了一个日志表 /* Id自增序列ID operates操作动作(增删改操作) description操作内容描述 Operates_time操作时间 Operates_user操作人 Operates_userid操作人id*/ 如何写个存储过程记录对数据库表的增删改操作写入到日志表中呢? 对数据库表的增删改操作也是用存储过程写的。 (注:不用触发器)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MrMaxl
2011-05-16
打赏
举报
回复
我都替楼主郁闷,都什么人的什么回答......
lw8500179
2010-04-30
打赏
举报
回复
[Quote=引用 16 楼 ptpa 的回复:]
引用楼主 lw8500179 的回复:
创建了一个日志表
/*
Id 自增序列ID
operates 操作动作(增删改操作)
description 操作内容描述
Operates_time 操作时间
Operates_user 操作人
Operates_userid 操作人id*/
如何写个存储过程记录对数据库表的增删改操作写入到日志表中呢?
对数据库表的增删改操作也是用存储……
[/Quote]
这个记录日志的存储过程是作为一个公用的存储过程的,是记录对数据库表的操作,能给个例子么 ,我才开始学写这个 没头绪...
ptpa
2010-04-30
打赏
举报
回复
[Quote=引用楼主 lw8500179 的回复:]
创建了一个日志表
/*
Id 自增序列ID
operates 操作动作(增删改操作)
description 操作内容描述
Operates_time 操作时间
Operates_user 操作人
Operates_userid 操作人id*/
如何写个存储过程记录对数据库表的增删改操作写入到日志表中呢?
对数据库表的增删改操作也是用存储过程写的。
(注:不用触发器)
……
[/Quote]
你在对数据库表的增删改操作的存储过程里将相关操作写入到日志表
日志表里加一个字段 操作的表
如
PROCEDURE INSERT_TABLE1()
IS
BEGIN
--插入表
INSERT INTO TABLE1(COLUMN1,COLUMN2) VALUES('VALUE1','VALUE2') ;
--插入记录,当然,也可以将插入日志表的记录写成存储过程,然后调用
INSERT INTO LOG_TABLE(operates,description,Operates_userid,Opra_table)
VALUES('operates','description'',Operates_userid','Opra_table');
END INSERT_TABLE1;
涉及大量的经常插入、更新、删除的表,可以考虑单独建立日志表
lw8500179
2010-04-30
打赏
举报
回复
[Quote=引用 12 楼 coolkisses 的回复:]
首先确定针对数据库中一张表还是所有表记录日志
再次确定数据库插入表数据的方式,是通过第三方调用还是纯后台插入
把事想全了,再定个方式,自己写日志也好,通过触发器也好,都不是什么问题
[/Quote]
是所有表,插入方式也是后台插入,这个存储过程该怎么写寻求达人解决!!
lw8500179
2010-04-29
打赏
举报
回复
没有人回答啊。。。顶下先 别沉了...
gltyi99
2010-04-29
打赏
举报
回复
[Quote=引用 9 楼 iihero 的回复:]
引用 8 楼 lw8500179 的回复:
需求在这儿了么...需要有这样的表来记录!
那就针对所有要操作的表创建对应的触发器好了。开通审记功能,这些东西都会自动记载,不过,是不能层面的东西。
[/Quote]
开通审计功能,数据库的性能会下降20%~30%
这个不是银行,税务,电信等重要数据库,还是不要开的好了
gltyi99
2010-04-29
打赏
举报
回复
你的需求不是很明确啊
要是对表,可以使用触发器来做
要是对事物,可以在写一个存储过程来记录相关日志,这个存储过称由事物来调用。
有什么需求,你可以给我发消息,我在给你想个办法
coolkisses
2010-04-29
打赏
举报
回复
首先确定针对数据库中一张表还是所有表记录日志
再次确定数据库插入表数据的方式,是通过第三方调用还是纯后台插入
把事想全了,再定个方式,自己写日志也好,通过触发器也好,都不是什么问题
lw8500179
2010-04-28
打赏
举报
回复
[Quote=引用 9 楼 iihero 的回复:]
引用 8 楼 lw8500179 的回复:
需求在这儿了么...需要有这样的表来记录!
那就针对所有要操作的表创建对应的触发器好了。开通审记功能,这些东西都会自动记载,不过,是不能层面的东西。
[/Quote]
那您可以给我一个对一个表操作的例子吗,我一点都不会呢 ,谢谢啦!!!
iihero
2010-04-28
打赏
举报
回复
[Quote=引用 8 楼 lw8500179 的回复:]
需求在这儿了么...需要有这样的表来记录!
[/Quote]
那就针对所有要操作的表创建对应的触发器好了。开通审记功能,这些东西都会自动记载,不过,是不能层面的东西。
lw8500179
2010-04-28
打赏
举报
回复
需求在这儿了么...需要有这样的表来记录!
iihero
2010-04-28
打赏
举报
回复
[Quote=引用楼主 lw8500179 的回复:]
创建了一个日志表
/*
Id 自增序列ID
operates 操作动作(增删改操作)
description 操作内容描述
Operates_time 操作时间
Operates_user 操作人
Operates_userid 操作人id*/
如何写个存储过程记录对数据库表的增删改操作写入到日志表中呢?
对数据库表的增删改操作也是用存储过程写的。
(注:不用触发器)
……
[/Quote]
看着就像数据库的审记功能啊。为何还要造轮子呢?
lw8500179
2010-04-28
打赏
举报
回复
就是不会啊!!给个例子 谢谢啦!!!......
ojuju10
2010-04-28
打赏
举报
回复
不要触发器,除非在每条DML之后,都将相关的信息插入到日志表中
ojuju10
2010-04-28
打赏
举报
回复
不要触发器,无法实现
luoyoumou
2010-04-28
打赏
举报
回复
-- 还有:应该在 日志表 中加一个“操作对象(或者:操作表名称)”,加以区分!
-- 问题简单:自己看着办!
luoyoumou
2010-04-28
打赏
举报
回复
-- 如果是所有表的话,你这个就还应该在所有表上均创建一个触发器,
-- 用触发器实现是最好的!
-- 为什么不肯用触发器呢?
luoyoumou
2010-04-28
打赏
举报
回复
-- 是对数据库所有表、还是数据库中的某一张表记录日志呢?
oracle
记录
存储过程
日志
的方法
本包用于
记录
存储过程
里面的
日志
,将
日志
信息
写
入
日志
表(mylog)。可以
记录
日志
时间、过程名称、过程里面
记录
日志
的行数、参数值。如果在异常处理部分
记录
日志
,还可以
记录
异常代码、异常原因、异常产生的行数。 本人使用开发环境为
oracle
10g
ORACLE
存储中
记录
日志
自已
写
的可在
ORACLE
存储过程
中
记录
运行
日志
工具包,调用方便简单。
Oracle
LogMiner
日志
挖掘技术全解析
Oracle
Redo Log就像
Oracle
数据库的录像带,
记录
了数据库中的所有改变,
Oracle
Logminer工具可以有效地挖掘并且呈现出Redo Log中的事务变化,从而可以实现数据恢复、
Oracle
Redo Log机制的研究、数据库监控和审计、...
oracle
存储
日志
,
oracle
存储过程
实现
记录
日志
oracle
存储过程
实现
记录
日志
create table-- Create tablecreate table t_cem_proc_logs(id varchar2(32),proc_mc varchar2(100),title varchar2(4000),content clob,log_type varchar2(10),log_time date default s...
oracle
存储过程
记录
执行
日志
创建一个序列,用于标识[
存储过程
,函数,触发器]执行先后顺序 create sequence SEQ_PROGRAM_EXECUTE_LOG minvalue 1 maxvalue 1000000000000 start with 1 increment by 1 cache 100 cycle order; 创建
日志
表,用于存储[
存储过程
,函数,触发器]执行
日志
CREATE TABL...
Oracle
17,089
社区成员
55,237
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章