在单位表上建一个触发器:
create or replace trigger trig_name
after update on 单位表
for each row
begin
if :old.dm!=:new.dm or :old.mc!=:new.mc then
update 商品表 t set t.fk_dm=...., t.fk_mc=..., where ....;
end if;
end ;
create or replace trigger trig_name
after update on 单位表
for each row
begin
if :old.dm!=:new.dm or :old.mc!=:new.mc then
update 商品表 t set t.fk_dm=...., t.fk_mc=..., where ....;
end if;
end ;
after insert or update on 单位表
for each row
begin
if inserting then
insert into 商品表(spm_dm,fk_mc,...) values (:new.dm,:new.mc,...);
else
update 商品表 set (spm_dm,fk_mc,...)=select :new.dm,:new.mc,... from dual;
where spm_dm=:old.dm and spm_mc=:old.mc;
end if;
end ;