📄 tri_
字号:
if exists (select name from sysobjects where name='TRI_采购订单明细' and type='TR')
drop TRIGGER TRI_采购订单明细
go
create TRIGGER [TRI_采购订单明细] ON 采购订单明细表
for insert,update
as
declare
@key_id int,
@订购数量 NUMERIC(18,6),
@物料编码 VARCHAR(30),@供应商编码 VARCHAR(10),@货币码 VARCHAR(10),@计量单位编码 VARCHAR(10),
@分段数量1 NUMERIC(18,6),@分段数量2 NUMERIC(18,6),@分段数量3 NUMERIC(18,6),@分段数量4 NUMERIC(18,6),
@分段数量5 NUMERIC(18,6),@无税单位价格1 NUMERIC(18,6),
@无税单位价格2 NUMERIC(18,6),@无税单位价格3 NUMERIC(18,6),
@无税单位价格4 NUMERIC(18,6),@无税单位价格5 NUMERIC(18,6),@订购日期 DATETIME,
@从计量单位编码 VARCHAR(10),@到计量单位编码 VARCHAR(10),@转换率 NUMERIC(18,6)
SELECT @key_id=key_id, @物料编码=物料编码,@供应商编码=供应商编码, @订购数量=订购数量,@订购日期=订购日期 FROM INSERTED
SELECT @货币码=货币码,@计量单位编码=计量单位,
@分段数量1=分段数量1,@分段数量2=分段数量2,@分段数量3=分段数量3,@分段数量4=分段数量4,
@分段数量5=分段数量5,@无税单位价格1=无税单位价格1,
@无税单位价格2=无税单位价格2,@无税单位价格3=无税单位价格3,
@无税单位价格4=无税单位价格4,@无税单位价格5=无税单位价格5
FROM 物料与供应商对照表 WHERE 物料编码=@物料编码 AND 供应商编码=@供应商编码
SELECT @从计量单位编码=从计量单位编码,@到计量单位编码=到计量单位编码,
@转换率=转换率 FROM 计量单位转换 WHERE 物料编码=@物料编码 AND 供应商编码=@供应商编码
BEGIN
IF @订购数量<=@分段数量1
UPDATE 采购订单明细表 SET 单位材料成本=@无税单位价格1*@转换率 WHERE 计量单位=@到计量单位编码 AND 物料编码=@物料编码 AND 供应商编码=@供应商编码 and key_id=@key_id
ELSE
IF @订购数量<=@分段数量2
UPDATE 采购订单明细表 SET 单位材料成本=@无税单位价格2*@转换率 WHERE 计量单位=@到计量单位编码 AND 物料编码=@物料编码 AND 供应商编码=@供应商编码 and key_id=@key_id
ELSE
IF @订购数量<=@分段数量3
UPDATE 采购订单明细表 SET 单位材料成本=@无税单位价格3*@转换率 WHERE 计量单位=@到计量单位编码 AND 物料编码=@物料编码 AND 供应商编码=@供应商编码 and key_id=@key_id
ELSE
IF @订购数量<=@分段数量4
UPDATE 采购订单明细表 SET 单位材料成本=@无税单位价格4*@转换率 WHERE 计量单位=@到计量单位编码 AND 物料编码=@物料编码 AND 供应商编码=@供应商编码 and key_id=@key_id
ELSE
IF @订购数量<=@分段数量5
UPDATE 采购订单明细表 SET 单位材料成本=@无税单位价格5*@转换率 WHERE 计量单位=@到计量单位编码 AND 物料编码=@物料编码 AND 供应商编码=@供应商编码 and key_id=@key_id
END
UPDATE 采购订单明细表 SET 单位材料成本=单位材料成本*@订购数量
WHERE 物料编码=@物料编码 AND 供应商编码=@供应商编码 and key_id=@key_id
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -