日期:2014-05-17 浏览次数:20586 次
CREATE TRIGGER [dbo].[调拨库存] ON [dbo].[调拨项目]
FOR INSERT
AS
declare @调拨数量 int,@批号 CHAR(11),@调入仓库 CHAR(10),@调出仓库 CHAR(10),@货品编号 CHAR(7)
declare cur_a cursor for
select 调拨数量, 批号,(SELECT 调入仓库 FROM 调拨单 WHERE 调拨单.调拨单号=inserted.调拨单号),
(SELECT 调出仓库 FROM 调拨单 WHERE 调拨单.调拨单号=inserted.调拨单号) ,
(SELECT TOP 1 货品编号 from 库存 where 库存.批号=inserted.批号) from inserted,调拨单
open cur_a
fetch next from cur_a into @调拨数量,@批号,@调入仓库,@调出仓库,@货品编号
while @@fetch_status=0
BEGIN
IF NOT EXISTS(SELECT * FROM 库存 where 库存.批号=@批号 AND 库存.仓库=@调入仓库)
BEGIN
INSERT INTO 库存 (货品编号,当前库存,批号,仓库) values(@货品编号,@调拨数量,@批号,@调入仓库)
UPDATE 库存 SET 当前库存=当前库存-@调拨数量 where 仓库=@调出仓库 and 库存.批号=@批号
END
ELSE
BEGIN
UPDATE 库存 SET 当前库存=当前库存+@调拨数量 where 仓库=@调入仓库 and 库存.批号=@批号
UPDATE 库存 SET 当前库存=当前库存-@调拨数量 where 仓库=@调出仓库 and 库存.批号=@批号
END
fetch next from cur_a into @调拨数量,@批号,@调入仓库,@调出仓库,@货品编号
end
close cur_a
deallocate cur_a
CREATE TRIGGER [dbo].[调拨库存] ON [dbo].[调拨项目]
FOR INSERT
AS
declare @调拨数量 int,@批号 CHAR(11),@调入仓库 CHAR(10),@调出仓库 CHAR(10),@货品编号 CHAR(7)
declare cur_a cursor for
select 调拨数量, 批号,(SELECT 调入仓库 FROM 调拨单 WHERE 调拨单.调拨单号=inserted.调拨单号),
(SELECT 调出仓库 FROM 调拨单 WHERE 调拨单.调拨单号=inserted.调拨单号) ,
(SELECT TOP 1 货品编号 from 库存 where 库存.批号=inserted.批号)
from inserted,调拨单
where inserted.调拨单号 = 调拨单.调拨单号 --增加这个关联条件
open cur_a
fetch next from cur_a into @调拨数量,@批号,@调入仓库,@调出仓库,@货品编号
while @@fetch_status=0
BEGIN
IF NOT EXISTS(SELECT * FROM 库存 where 库存.批号=@批号 AND 库存.仓库=@调入仓库)
BEGIN
INSERT INTO 库存 (货品编号,当前库存,批号,仓库) values(@货品编号,@调拨数量,@批号,@调入仓库)
UPDATE 库存 SET 当前库存=当前库存-@调拨数量 where 仓库=@调出仓库 and 库存.批号=@批号
END
ELSE
BEGIN
&nb