Chinaunix首页 | 论坛 | 博客
  • 博客访问: 632599
  • 博文数量: 825
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 14:19
文章分类

全部博文(825)

文章存档

2011年(1)

2008年(824)

我的朋友

分类:

2008-10-27 14:27:37

  copy from The (tm) Users' Co-Operative FAQ

  如果需要记录每条记录被dml操作的最后时间,需要额外的设置。

  提供3种方法,不过都麻烦。

  1.使用触发器,当发生dml的时候,记录操作信息(需要创建日志表或者在表增加额外的字段)

  2.审计 audit (日志表sys.aud$在系统表空间上,如果dml频繁可能引起表空间紧张)

  3.使用logminer分析日志(麻烦,不过在检查数据违规修改的时候很有用)

  如下使用trigger实现的方法

  增加last_modified_by   last_modified_time 2个子段

  set echo on

  create or replace trigger marktest_biu

  before insert or update

  on marktest

  for each row

  ——

  declare

  ——

  v_last_modified_by     varchar2(30) ;

  v_last_modified_on     date         ;

  ——

  begin

  ——

  elect

  user

  ,sysdate

  into

  v_last_modified_by

  ,v_last_modified_on

  from dual ;

  ——

  :new.last_modified_by := v_last_modified_by ;

  :new.last_modified_on := v_last_modified_on ;

  ——end ;

  /

  需要编写pl/sql代码;

【责编:Amy】

--------------------next---------------------

阅读(285) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~