create or replace trigger tr_1
before insert or update on tableb
for each row
declare
v_var varchar2(100):= '';
begin
if(:new.a_id is not null) then --插入或更新时,a_id不为空,取a_id
select a_name||':'||a_code into v_var
from tablea
where a_id=:new.a_id;
else --否则看看是不是修改,如果是修改,看看是不是存在对应原来的a_id
begin
select a_name||':'||a_code into v_var
from tablea
where a_id=:old.a_id;
exception when no_data_found then
null;
end;
end if;
:new.b_acode:=v_var;
end;
/
create or replace trigger tr_1
before insert on tableb
for each row
declare
v_var varchar2(100);
begin
select a_name||':'||a_code into v_var
from tablea
where a_id=:new.a_id;
:new.b_acode:=v_var;
end;
/