日期:2014-05-18  浏览次数:20421 次

请教如下SQL是否正确
调拨单表A
pn品号,store仓库,lot批号,qty数量,sh审核
001,a1,20120725,100,N,

品号基本信息表B
pn品号,store仓库,lot批号,qty库存数量,z_qty暂存数量
001,a1,2120725,1000,0

需新建触发器
1.当调拨单表A新增一条记录时,如果pn品号,store仓库,lot批号条件相等则自动增加

数量到品号基本信息表B
例如:当调拨单表A增加第一条记录时,品号基本信息表B自动更新为
pn品号,store仓库,lot批号,qty库存数量,z_qty暂存数量
001,a1,2120725,1000,100

Create Trigger inB
on A
for insert
As
Begin Transaction
Update B
set B.z_qty=B.z_qty+A.qty
Where A.pn=B.pn and A.store=B.store and A.lot=B.lot
Commit Transaction
Go

------解决方案--------------------
SQL code

-- 只看你的代码修改,你先试,inserted就是你刚插入的记录的一个集合
Create Trigger inB
on A
after insert
As
update b set b.z_qty=b.z_qty+a.qty  from b join inserted a on a.pn=b.pn and a.store=b.store and a.lot=b.lot