日期:2014-05-17 浏览次数:20519 次
create table qs
(存货编码 varchar(10), 数量 int, 单价 decimal(8,2), 金额 decimal(8,2), 批号 varchar(16))
-- 建触发器
create trigger tr_qs on qs
after insert
as
begin
update a
set a.单价=cast(substring(a.批号,charindex('=',a.批号,1)+1,16) as decimal(8,2)),
a.金额=cast(substring(a.批号,charindex('=',a.批号,1)+1,16) as decimal(8,2))*a.数量
from qs a
inner join inserted b
on a.存货编码=b.存货编码 and a.数量=b.数量 and a.批号=b.批号
end
-- 测试插入记录
insert into qs(存货编码,数量,批号)
select '001', 10, '001=10' union all
select '002', 10, '002=10.5'
-- 结果
select * from qs
/*
存货编码 数量 单价 金额 批号