check_入库
CREATE TRIGGER [dbo].[check_入库]
ON [dbo].[入库表]
AFTER INSERT
AS
DECLARE @wpbianhao int,@ygbianhao int,@rksl int
DECLARE @name nvarchar(20)
SELECT @wpbianhao=物品编号 FROM inserted
SELECT @ygbianhao=员工编号 FROM inserted
SELECT @rksl=入库数量 FROM inserted
IF @wpbianhao=(select 物品编号 from 物品信息表 where 物品编号=@wpbianhao)
BEGIN
IF @ygbianhao =(select 员工编号 from 员工信息表 where @ygbianhao = 员工编号)
BEGIN
SELECT @name=物品名称 FROM 物品信息表 where @wpbianhao=物品编号
IF @name=(select 物品名称 from 库存信息表 where 物品名称=@name)
BEGIN
update 库存信息表
set 剩余数量 = (select 剩余数量 from 库存信息表 where 物品名称=(select 物品名称 from 物品信息表 where @wpbianhao=物品编号))+@rksl
where 物品名称=(select 物品名称 from 物品信息表 where @wpbianhao=物品编号)
END
ELSE
BEGIN
insert into 库存信息表(物品名称,剩余数量) values (@name,@rksl)
END
print '登记成功'
END
ELSE
BEGIN
print'该员工不存在'
ROLLBACK
END
END
ELSE
BEGIN
print'不存在该物品,请先在库存登记'
ROLLBACK
END
CREATE TRIGGER [dbo].[check_删除_入库]
ON [dbo].[入库表]
AFTER DELETE
AS
BEGIN
DECLARE @wpbianhao int,@ygbianhao int,@rksl int
SELECT @wpbianhao=物品编号 FROM deleted
SELECT @ygbianhao=员工编号 FROM deleted
SELECT @rksl=入库数量 FROM deleted
update 库存信息表
set 剩余数量 = (select 剩余数量 from 库存信息表 where 物品名称 = (select 物品名称 from 物品信息表 where @wpbianhao=物品编号))-@rksl
where 物品名称=(select 物品名称 from 物品信息表 where @wpbianhao=物品编号)
END
check_修改_入库
CREATE TRIGGER [dbo].[check_修改_入库]
ON [dbo].[入库表]
AFTER UPDATE
AS
BEGIN
DECLARE @wpbianhao_qian int,@ygbianhao_qian int,@rksl_qian int
DECLARE @wpbianhao_hou int,@ygbianhao_hou int,@rksl_hou int
DECLARE @name nvarchar(20)
SELECT @wpbianhao_qian=物品编号,@ygbianhao_qian=员工编号, @rksl_qian=入库数量 FROM inserted
SELECT @wpbianhao_hou =物品编号,@ygbianhao_hou =员工编号, @rksl_hou=入库数量 FROM DELETED
--原信息删除
update 库存信息表
set 剩余数量 = (select 剩余数量 from 库存信息表 where 物品名称 = (select 物品名称 from 物品信息表 where @wpbianhao_qian=物品编号))-@rksl_qian
where 物品名称=(select 物品名称 from 物品信息表 where @wpbianhao_qian=物品编号)
--新信息的添加
/*
update 库存信息表
set 剩余数量 = (select 剩余数量 from 库存信息表 where 物品名称 = (select 物品名称 from 物品信息表 where @wpbianhao=物品编号))-@rksl_qian+@rksl_hou
where 物品名称=(select 物品名称 from 物品信息表 where @wpbianhao=物品编号)
*/
IF @wpbianhao_hou=(select 物品编号 from 物品信息表 where 物品编号=@wpbianhao_hou)
BEGIN
IF @ygbianhao_hou =(select 员工编号 from 员工信息表 where @ygbianhao_hou = 员工编号)
BEGIN
SELECT @name=物品名称 FROM 物品信息表 where @wpbianhao_hou=物品编号
IF @name=(select 物品名称 from 库存信息表 where 物品名称=@name)
BEGIN
update 库存信息表
set 剩余数量 = (select 剩余数量 from 库存信息表 where 物品名称=(select 物品名称 from 物品信息表 where @wpbianhao_hou=物品编号))+@rksl_hou
where 物品名称=(select 物品名称 from 物品信息表 where @wpbianhao_hou=物品编号)
END
ELSE
BEGIN
insert into 库存信息表(物品名称,剩余数量) values (@name,@rksl_hou)
END
print '登记成功'
END
ELSE
BEGIN
print'该员工不存在'
ROLLBACK
END
END
ELSE
BEGIN
print'不存在该物品,请先在库存登记'
ROLLBACK
END
END