注册 登录
编程论坛 Oracle论坛

关于显示修改人和修改时间

xibeilang 发布于 2005-12-17 20:06, 1026 次点击
修改人和修改时间
公司的电子帐册登陆用户在修改后会记录修改人和修改时间,以便于以后查阅。
我的做法是:

-创建触发器  !!!!显示修改人的时间,姓名编号
CREATE OR REPLACE TRIGGER ZAZSOFT.ZAZ_RS_C_TRI_A
  AFTER
  INSERT OR UPDATE OR DELETE
  OF 时间, 姓名编号
  ON ZAZSOFT.ZAZ_RS_C
  FOR EACH ROW
BEGIN
  IF INSERTING THEN
      INSERT INTO ZAZSOFT.ZAZ_RS_D(时间,姓名编号)
           VALUES (:NEW.时间,:NEW.姓名编号);
  END IF;
  IF UPDATING THEN
      IF UPDATING('姓名编号') THEN
          UPDATE ZAZSOFT.ZAZ_RS_D
             SET 姓名编号=:NEW.姓名编号
           WHERE 姓名编号=:OLD.姓名编号;
      END IF;
      IF UPDATING('时间') THEN
          UPDATE ZAZSOFT.ZAZ_RS_D
             SET 时间=:NEW.时间;
      END IF;
  END IF;
  IF DELETING THEN
      DELETE ZAZSOFT.ZAZ_RS_D
       WHERE 姓名编号=:OLD.姓名编号;
  END IF;
END;



各位好好学习啊!!
哈哈!

[此贴子已经被作者于2005-12-30 19:42:41编辑过]

2 回复
#2
xibeilang2005-12-17 20:08
看来在这儿我成了大虾了
#3
tenyears2005-12-19 21:23
你这段代码能起到记录曾修改过帐册用户的姓名和修改时间的作用吗?
当某个用户UPDATE表ZAZSOFT.ZAZ_RS_C 中的非'时间'和'姓名编号'字段
你看你的触发器执行了什么?
1