|  | 
| 最初由 yangtingkun 发布[B]SQL> create table test (id number, aa number, bb number, timestamp1 date, timestamp2 date);
 
 表已创建。
 
 SQL> create or replace trigger v_test1 before insert or update of aa on test for each row
 2  begin
 3  :new.timestamp1 := sysdate;
 4  end;
 5  /
 
 触发器已创建
 
 SQL> create or replace trigger v_test2 before insert or update of bb on test for each row
 2  begin
 3  :new.timestamp2 := sysdate;
 4  end;
 5  /
 
 触发器已创建
 
 SQL> select * from test;
 
 未选定行
 
 
 SQL> insert into test (id, aa, bb) values (1, 2, 3);
 
 已创建 1 行。
 
 SQL> commit;
 
 提交完成。
 
 SQL> select * from test;
 
 ID         AA         BB TIMESTAMP1 TIMESTAMP2
 ---------- ---------- ---------- ---------- ----------
 1          2          3 06-12月-04 06-12月-04
 
 SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
 
 会话已更改。
 
 SQL> select * from test;
 
 ID         AA         BB TIMESTAMP1          TIMESTAMP2
 ---------- ---------- ---------- ------------------- -------------------
 1          2          3 2004-12-06 19:28:35 2004-12-06 19:28:35
 
 SQL> update test set aa = 3 where id = 1;
 
 已更新 1 行。
 
 SQL> commit;
 
 提交完成。
 
 SQL> select * from test;
 
 ID         AA         BB TIMESTAMP1          TIMESTAMP2
 ---------- ---------- ---------- ------------------- -------------------
 1          3          3 2004-12-06 19:29:15 2004-12-06 19:28:35
 
 你先在没有复制的环境中把触发器测试成功,然后在加上复制。 [/B]
 谢谢你,我也是这样做了,每一列都创建了一个触发器,通过这样的方式,的确解决了更新同一个表的同一条记录的任意字段,也就是说现在可以任意更新了,我就是觉得麻烦了一点,想创建一个触发器来实现,看来是实现不了啊!
 | 
 |