B表是A表的附表,里边有A表新扩充的字段,其中state字段与A表中的字段想做关联,当A表update改动state字段时,B表相应记录的state字段也修改,并向A表值看齐,已知两个表的数据都有bccid这个字段,并且相应的唯一一条记录bccid值相等,可用来连接或者当where条件
求这个触发器应该怎么写啊?或者其他方式实现也成,讲的详细给分!!!!!
求这个触发器应该怎么写啊?或者其他方式实现也成,讲的详细给分!!!!!
create or replace trigger A_trigger
after update
on A
begin
--用MERGE INTO 实现
MERGER INTO B
USING A
ON B.bccid=A.bccid
when matched then
update set B.state=A.state
when not matched then
NULL;ECXEPTION
WHERN OTHERS THEN
DBMS_OUPUT.PUT_LINE('ERROR ON TRIGGER');
end;
能保证整个执行完毕后a表和b表的state值完全一致吗?
谢谢,答下这个就给分结贴了~
for each row
declare
v_bid number;
v_stat varchar2(20);
begin
select :old.bccid into v_bid from dual;
select :new.state into v_stat from dual;
update b set state = v_stat where bccid = v_bid;
end;