在Orders表上建立一个插入触发器,在添加一个订单时,减少Goods表相应货品记录中的库存量.
呵呵,我是新手,自己写的:
create trigger xx
after insert on orders
for each row
as begin
if(orders.Ono=orders.Ono+1)
then Goods.storage=Goods.stroage+orders.number;
end;
错误一大堆
呵呵,我是新手,自己写的:
create trigger xx
after insert on orders
for each row
as begin
if(orders.Ono=orders.Ono+1)
then Goods.storage=Goods.stroage+orders.number;
end;
错误一大堆
on orders
for insert
as
begin
updaet b
set storage = storage - i.sl
from inserted i
left join goods b
on i.id = b.id
end
after insert
asupdate a
set Storage=a.Storage-i.Number
from
Goods a
join
inserted i on a.Product=b.Product--商品Product
create trigger Orders_insert on Orders
after insert
asupdate a
set Storage=a.Storage-i.Number
from
Goods a
join
inserted i on a.Product_id=b.Product_id
------------------------------------------------------------------------
我们的做法:在出货表中有一个字段(如TRAN_STATUS),此字段有三个状态:未批准、作废、已批准当此字段由“未批准”变为“已批准”时,减少仓库库存;当此字段由“已批准”变为“未批准”时,增加仓库库存。
after insert
asupdate goods
set Storage=a.Storage-b.Number
from
Goods a
join
inserted b on a.Product_id=b.Product_id
--a,b 在这表示别名,product_id 表示 orders 和 goods 表的关键字
after insert
asupdate Goods
set storage=a.storage-b.number
from
Goods a
join
inserted b on a.Gname=b.Gname
谢谢大家,已经解决,这里不象摆渡,不知道怎么给分,呵呵
create trigger tu_orders on orders
for insert
as
begin
update goods set quantity = quantity -insert.orders
from inserted where inserted.product_id=goods.product_id
end