-- 给你写个例子SQL> SQL> create table ta(id int, name varchar(10), age int); Table created SQL> create table tb(id int, old_name varchar(10), new_name varchar(10)); Table created SQL> create trigger tri_ta_update 2 before update on ta 3 for each row 4 begin 5 insert into tb(id, old_name, new_name) 6 values(:new.id, :old.name, :new.name); 7 end; 8 / Trigger created SQL> begin 2 insert into ta values(100, 'zs', 100); 3 update ta set name = 'abc'; 4 update ta set name = 'zxy'; 5 end; 6 / PL/SQL procedure successfully completed SQL> col id format a5; SQL> select * from ta; ID NAME AGE ----- ---------- --------------------------------------- 100 zxy 100 SQL> select * from tb; ID OLD_NAME NEW_NAME ----- ---------- ---------- 100 zs abc 100 abc zxy SQL> drop table ta purge; Table dropped SQL> drop table tb purge; Table droppedSQL>
-- 给你写个例子SQL>
SQL> create table ta(id int, name varchar(10), age int);
Table created
SQL> create table tb(id int, old_name varchar(10), new_name varchar(10));
Table created
SQL> create trigger tri_ta_update
2 before update on ta
3 for each row
4 begin
5 insert into tb(id, old_name, new_name)
6 values(:new.id, :old.name, :new.name);
7 end;
8 /
Trigger created
SQL> begin
2 insert into ta values(100, 'zs', 100);
3 update ta set name = 'abc';
4 update ta set name = 'zxy';
5 end;
6 /
PL/SQL procedure successfully completed
SQL> col id format a5;
SQL> select * from ta;
ID NAME AGE
----- ---------- ---------------------------------------
100 zxy 100
SQL> select * from tb;
ID OLD_NAME NEW_NAME
----- ---------- ----------
100 zs abc
100 abc zxy
SQL> drop table ta purge;
Table dropped
SQL> drop table tb purge;
Table droppedSQL>