在单位表上建一个触发器:
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 ;

解决方案 »

  1.   

    create or replace trigger trig_name 
        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 ;