T-SQL---触发器
时间:2021-07-01 10:21:17
帮助过:4人阅读
trigger trig_transInfo
on transInfo
for insert
as
declare @type char(
4),
@outMoney Money
declare @myCardID char(
10),
@balanceMoney
select @type=transType,
@outMoney=transMoney,
@myCardID=cardID
from inserted --从inserted表获取交易类型、教员金额等
if (
@type=‘支取‘) --根据交易类型,减少或增加对应卡号的余额
update bank
set currentMoney
=currentMoney
-@outMoney where cardID
=myCardID
else
update bank
set currentMoney
=currentMoney
+@outMoney where cardID
=myCardID
...
触发器触发时:
(1)系统自动在内存中创建deleted表和inserted表
(2)只读,不允许修改;触发器执行完成后,自动删除
inserted表
(1)临时保存了插入或更新后的记录行
(2)可以从inserted表中检查插入的数据是否满足业务需求
(3)如果不满足,则向用户报告错误消息,并回滚插入操作
deleted表
(1)临时保存了删除或更新前的记录行
(2)可以从deleted表检查被删除的数据是否满足业务需求
(3)如果不满足,则向用户报告错误消息,并回滚删除操作
T-SQL---触发器
标签: