表:re_trstufflisting(num_id,rename,remodel,gs_id,gs_scode)
现在想把表中的一个字段:gs_id修改
其中gi_id,gs_scode是相关表bm_goodsstock中的两个相关字段。
目的:
    在插入或者修改表字段gs_scode的同时把gs_id也修改
表的关联性:
select listing.gs_scode,gs.gs_id 
from re_trstufflisting listing ,bm_goodsstock gs
where listing.gs_id=gs.gs_id and
listing.gs_scode='0301'
order by gs.gs_id

解决方案 »

  1.   

    哦,是这样的:
    表:re_trstufflisting(num_id,rename,remodel,gs_id,gs_scode)有这几个字段
    现在我要写个触发器,目的:修改了字段gs_scode的时候同时要修改gs_id由于表中的gs_id和gs_scode是另一张表(bm_goodsstock)的两个字段
      

  2.   

    在bm_goodsstock中gs_scode是唯一的吗?如果是,那么触发器就是这样写
    create or replace trigger tbu_re_trstufflisting
    before update on re_trstufflisting for each row
    begin
      select gs_id into :new.gs_id from bm_goodsstock where gs_scode=:new.gs_scode;
    end;
    /
    上面的trigger没有考虑bm_goodsstock中没有找到新输入的gs_scode情况。需要根据业务来做适当的处理。