我有两表:a表,b表
a表字段:
包裹号,产品名,可用数
1 电视 2
1 面包 3
b表字段:
产品名,库存数,已锁定数,可用数
电视 5 2 3
面包 5 3 2
a表可用数,等于B表的已锁定数
b表的可用数等于b表的库存数-已锁定数。现在某包裹号取消,则a表某包裹号所有产品的可用数更新为0,b表的“已锁定数”等于以前“锁定数”-a表的“可用数”,b表的“可用数”等于以前“可用数”+a表的“可用数”。
更新后的数据为:
a表字段:
包裹号,产品名,可用数
1 电视 0
1 面包 0
b表字段:
产品名,库存数,已锁定数,可用数
电视 5 0 5
面包 5 0 5
谢谢大家了
a表字段:
包裹号,产品名,可用数
1 电视 2
1 面包 3
b表字段:
产品名,库存数,已锁定数,可用数
电视 5 2 3
面包 5 3 2
a表可用数,等于B表的已锁定数
b表的可用数等于b表的库存数-已锁定数。现在某包裹号取消,则a表某包裹号所有产品的可用数更新为0,b表的“已锁定数”等于以前“锁定数”-a表的“可用数”,b表的“可用数”等于以前“可用数”+a表的“可用数”。
更新后的数据为:
a表字段:
包裹号,产品名,可用数
1 电视 0
1 面包 0
b表字段:
产品名,库存数,已锁定数,可用数
电视 5 0 5
面包 5 0 5
谢谢大家了
update b set 已锁定数=已锁定数-a.可用数, set 可用数= 可用数+a.可用数 from a where a.包裹号=? and a.产品名=b.产品名
update a set 可用数=0 where 包裹号=?
update a set 可用数=0 where 包裹号=?
create trigger t1
on a
for insert,update,delete
as
update t2
set 已锁定数=t.可用数 ,t2.可用数=t2.库存数-t2.已锁定数
from t2,inserted t
where t2.产品名=t.产品名