我有一张表table1
id name pwd sum
001 ss 123 100
002 ww 11 200
002 qq 22 100
table2
id name cc
001 ss 00
想建一个触发器,当我table1中的数据有变化,新增记录或者update任何字段的时候,就向表table2中插入
一条记录,id和name就是table1中被操作的数据,cc是我插入的一个固定值。
只要实现这个功能就行了,谢谢!
------解决方案--------------------
- SQL code
create or replace trigger tr_after_update_t1 after update on t1for each rowbegin insert into t2(id, name, cc) values(:new.id, :new.name, '00'); --:old.id, :old.nameend;
------解决方案--------------------
楼上是写的更新时,我就写个插入时:
create or replace trigger tr_after_insert_t1
after insert on t1
for each row
begin
insert into t2(id, name, cc) values(:new.id, :new.name, '00'); --:old.id, :old.name
end;
:new代表新插入的表的数据,:old表时修改前的表的数据
------解决方案--------------------
create or replace trigger tr_after_update_t1
after insert or update on table1
for each row
begin
insert into table2(id, name, cc) values(:new.id, :new.name, '00');
end;
------解决方案--------------------
- SQL code
create or replace trigger tr_after_update_t1 after update,delete,insert on t1for each rowbegin if inserting then insert into table2(id, name, cc) values(:new.id, :new.name, '00'); elsif updating then update table2 set name=:new.name,cc=:new.cc where id=:old.id; elsif deleting then delete from table2 where id=:old.id; end if; EXCEPTION WHEN others THEN null;end;
------解决方案--------------------
------解决方案--------------------
支持樓上的
------解决方案--------------------