34,590
社区成员
发帖
与我相关
我的任务
分享
create trigger tru_进仓 on 进仓 for update
as
begin
if exists (select 1 from 结存 where 代码 = (select 物料代码 from inserted))
update 结存 set 现有库存 = 现有库存 + inserted.入仓数 from 结存 , inserted where 结存.代码 = inserted.物料代码
else
insert 结存(代码,名称规格色别,现有库存) select 物料代码,名称规格色别,入仓数 from inserted
end
create trigger tru_进仓
on 进仓
for update
as
begin
declare @物料代码 varchar(50),@名称规格色别 varchar(50),@入仓数 int
declare cur_i cursor for select 物料代码,名称规格色别,入仓数 from inserted
open cur_i
fetch next from cur_i into @物料代码,@名称规格色别,@入仓数
while @@fetch_status=0
begin
update 结存 set 现有库存=现有库存+ @入仓数 where 结存.代码=@物料代码
if @@rowcount=0
insert 结存(代码,名称规格色别,现有库存) values( @物料代码,@名称规格色别,@入仓数)
fetch next from cur_i into @物料代码,@名称规格色别,@入仓数
end
close cur_i
deallocate cur_i
end