首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-02-03 
一个SQL面试题,在基表inv_trans_detail上创建一个触发器,当插入一笔资料时更新库存inv_current_stock。Inv_

一个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

热点排行
Bad Request.