日期:2014-05-17  浏览次数:20763 次

写个触发器
库存表
编号  库存数量/米
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

这是答案吗 。。。