当前位置: 代码迷 >> Sql Server >> 一个SQL面试题,该怎么处理
  详细解决方案

一个SQL面试题,该怎么处理

热度:55   发布时间:2016-04-27 20:25:57.0
一个SQL面试题,
在基表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
  相关解决方案