在基表inv_trans_detail上创建一个触发器,当插入一笔资料时更新库存inv_current_stock。Inv_trans_detail的交易数量栏位为qty_trans,运算方式栏位为operation_type,可取“+”、“-”、“U”三个值,如为“+”,则增加库存,如为“-”,则减少库存,如为“U”, 则增加库存(根据Qty_trans的正负实际增加/减少库存)。Inv_current_stock的当前库存数量栏位为qty_current。两个表以part_no连接起来。
前几天去面试,这个题目写不出来。
这个触发器该如何编写啊,谢谢各位了
------解决方案--------------------
create tri_a on inv_trans_detail after insert as
update inv_current_stock set qty_current=qty_current+
(case operation_type when '+ ' then abs(a.qty_trans)
when '- ' then -abs(a.qty_trans) else a.qty_trans end)
from inserted a where a.part_no=inv_current_stock.part_no