当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

如何知道表记录最后被更新的时间

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

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

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

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

  2.审计 Oracle 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代码;

相关内容
赞助商链接