Sql Server数据库触发器

Sql Server数据库触发器

  1. 触发器的作用?
    触发器是一个特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
  2. 触发器的实现
    触发器的基本语法为
    Create trigger 触发器名 on 表名 after/instead of (insert,delete,update) 
    as
    declare 
    Begin
    ........
    End
  1. 实例
    在这里是非常基础的挂号之后触发自己写好的触发器
    实现挂号数量减一
create Trigger [dbo].[Trigger_Insert] //触发器的名字
  on [dbo].[T_Order]  //需要触发的表名
  after insert  //在添加了订单之后
as
begin 
update T_Sche set Num_Count = Num_Count - 1 
from T_Sche,inserted
where T_Sche.Sche_ID =  inserted.Sche_ID //直接修改预约表中的医师所剩的挂号数量
end
  1. 触发器的原理
    触发器在执行中可分为两种触发器 ,
    一种为after触发器,另一种为Instead of 触发器
    1. after触发器
      after触发器是指触发器在对这张表的增删改执行了之后再去执行你写的触发器语句,就像上面那个触发器所写。
      在订单表内已经添加了一个数据时,触发器便自动执行我后面的,修改语句。
      在触发器被触发时,触发器会自动生成两张虚拟表,deleted表和inserted表

      Inserted表deleted表
      在表记录新增时存放新增的记录不存储记录
      修改时存放用来更新的新记录存放更新前的记录
      删除不存储记录存放被删除的记录
    2. Instead of 触发器
      Instead of 触发器是指触发器在对这张表的增删改执行中直接替换了你的增删改语句变为你写的触发器语句
      比如你在订单表内添加数据时 ,该触发器会替换这添加语句变为你自己写的触发器语句

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B&Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值