create table A
( ID NUMBER not null,
NAME VARCHAR2(20),
SEX VARCHAR2(4)
)
create table B
( ID NUMBER not null,
NAME VARCHAR2(20),
SEX VARCHAR2(4)
)
create or replace trigger aTOb after insert or update or delete
on A for each row
declare
integrity_error exception;
errno integer;
errmsg char(200);
dummy integer;
found boolean;
begin
if inserting then
insert into B(ID,name,sex) values(:NEW.ID,:NEW.name,:NEW.sex);
elsif updating then
update B set ID=:NEW.ID,name=:NEW.name,sex = :new.sex where id=:OLD.id;
elsif deleting then
delete from B where id=:OLD.id;
end if;
exception
when integrity_error then
raise_application_error(errno, errmsg);
end;
测试:
INSERT INTO A(ID,NAME,SEX) VALUES(10,'TAND','2');
上条语句执行成功后,查看B表同样有一条一样的记录插入到了B表
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21704144/viewspace-1046687/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21704144/viewspace-1046687/