首页 > 其他 > 详细

触发器

时间:2020-01-06 22:28:42      阅读:80      评论:0      收藏:0      [点我收藏+]

触发器是在对表进行增删改操作时自动执行的存储过程

触发器通常用于强制业务规则

触发器是一种高级约束,可以定义比用check约束更为复杂的约束

  可执行复杂的tsql语句(if/while/case)

  可引用其他表中的列

从操作上触发器的类型

  delete触发器

  insert触发器

  update触发器

从时机上触发器分

  事后触发器

  事前触发器

  事中触发器

语法:

create trigger trigger_name
on table_name
[with encryption]
for | after[delete, insert, update]   --for | after代表事后 效果一样的
as
t-sql语句
go

 1 create trigger trig_update_bank
 2     on bank
 3         for update
 4 as
 5     declare @beforeMoney money, @afterMoney Money
 6     select @beforeMoney = currentMoney from deleted
 7     select @afterMoney = currentMoney from inserted
 8 if abs(@afterMoney - @beforeMoney) > 20000
 9     begin
10         print 交易金额:+ convert(varchar(8), abs(@afterMoney - @beforeMoney))
11         raiserror(每笔交易不能超过2万块,交易失败,16,1)
12     end
13 go

列级update触发器

update触发器除了跟踪数据的变化外,还可以检查是否修改了某列的数据

使用update(列)函数检测是否修改了某列

/*
交易日期一般由系统自动产生,默认为当前日期。为了安全起见,一般禁止修改,以防舞弊。
*/

update(transDate)    --transDate为列属性

 

 

 

 

触发器

原文:https://www.cnblogs.com/ftyl/p/12158122.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!