update
bankcard
set
maney
=
maney
-
5000
where
id
=
1
// 测试用的sql语句
// 测试用的sql语句
CREATE
TRIGGER
触发器名称
ON
[
dbo
]
.
[
bankCard
]
FOR INSERT , UPDATE , DELETE
AS
if update (maney) // 列名
declare @firstManey int
declare @secondManey int
declare @fristCardID int
declare @secondCardID int
select @firstManey = maney from inserted
select @secondManey = maney from deleted
select @fristCardID = CardID from inserted
select @secondCardID = CardID from deleted
update bankCard set maney = ( maney - ( @secondManey - @firstManey )) where CardID = @secondCardID
FOR INSERT , UPDATE , DELETE
AS
if update (maney) // 列名
declare @firstManey int
declare @secondManey int
declare @fristCardID int
declare @secondCardID int
select @firstManey = maney from inserted
select @secondManey = maney from deleted
select @fristCardID = CardID from inserted
select @secondCardID = CardID from deleted
update bankCard set maney = ( maney - ( @secondManey - @firstManey )) where CardID = @secondCardID
数据库
CardID | 主键 int | 卡号 |
maney | int | 金额 |
on 后面是标名字 update 动作 inserted是update语句执行前的虚拟表 deleted是update语句修改以后的虚拟表