当前位置: 代码迷 >> Sql Server >> 写个触发器解决办法
  详细解决方案

写个触发器解决办法

热度:37   发布时间:2016-04-24 20:52:35.0
写个触发器
库存表
编号  库存数量/米
1    94
2    91
3    20
4    34

明细表
编号   发生额   进出标记
2       5        I
4       3        O
1       6        O

修改 明细表时,如果保证 库存表的库存数量正确?

------解决方案--------------------
--写个触发器,即可保证
CREATE TRIGGER tr_test ON 明细表
AFTER INSERT
AS
BEGIN
UPDATE k
SET k.[库存数量/米] = k.[库存数量/米] + (CASE i.发生额 WHEN 1 THEN 1 ELSE -1 END)*i.发生额
FROM INSERTED i
INNER JOIN 库存表 k
ON i.编号 = k.编号
END

------解决方案--------------------
明细表中的发生额和进出标记是什么意思
------解决方案--------------------
描述的不清楚。。。。。

------解决方案--------------------
引用:
--写个触发器,即可保证
CREATE TRIGGER tr_test ON 明细表
AFTER INSERT
AS
BEGIN
UPDATE k
SET k.[库存数量/米] = k.[库存数量/米] + (CASE i.发生额 WHEN 1 THEN 1 ELSE -1 END)*i.发生额
FROM INSERTED i
INNER JOIN 库存表 k
ON i.编号 = k.编号
END

这是答案吗 。。。
  相关解决方案