POS收银系统中要求每收一张零售单立刻把该单销售金额转换成积分(每10一分)更新到会员积分表下 零售表字段如下 零售单据ID 会员卡号 交易金额 会员表字段如下 会员卡号 会员名称 本次积分 累计积分 现如何用SQL触发器实现在前台程序中每收一张单就能更新会员表下的本次积分和累计积分字段??
答案:
create trigger tr_零售表
on 零售表 for insert
as
begin
declare @会员卡号 varchar(30),@交易金额 decimal(18,2)
select @会员卡号=会员卡号,@交易金额=交易金额 from inserted
update 会员表 set 本次积分=本次积分+cast(@交易金额/10 as int),累计积分=累计积分+cast(@交易金额/10 as int) where 会员卡号=@会员卡号
end
on 零售表 for insert
as
begin
declare @会员卡号 varchar(30),@交易金额 decimal(18,2)
select @会员卡号=会员卡号,@交易金额=交易金额 from inserted
update 会员表 set 本次积分=本次积分+cast(@交易金额/10 as int),累计积分=累计积分+cast(@交易金额/10 as int) where 会员卡号=@会员卡号
end
转载于:https://blog.51cto.com/gjbxx110/224400