zoukankan      html  css  js  c++  java
  • T-SQL之触发器

    一、概念

    触发器基于一个表或视图创建,但可以操作多个表或视图。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行。

    触发器的触发操作是insert、delete、update,执行中涉及到两个迁移表(虚表、临时表,触发器执行完自动销毁):inserted,deleted。

    触发器与存储过程的区别:无论是哪类存储过程(自动运行存储过程除外)都需要调用才可执行,而触发器不需要调用,达到触发条件即可触发

    触发器分前触发器和后触发器,后触发器执行过程:当执行到引发触发器执行的语句临界点时,继续执行语句,然后再执行触发器内的语句。应用较多

    一个能很好的说明上图的例子:题的要求为如果在student表中更改了学生的sno, 希望该生的选课信息表sc中与这个学生相关的记录也进行一致性修改。

    create trigger updatecascade on student
    after update
    as  begin
     if update(sno)
     begin
      declare @sno_new char(10),@sno_old char(10)
      select @sno_new=sno from inserted
      select @sno_old=sno from deleted
      update sc set sno=@sno_new where  sno=@sno_old
     end
    end

    二前触发器则是当执行到引发触发器执行的语句临界点时,先执行触发器的内容,再执行其他。

  • 相关阅读:
    es6 可迭代对象
    前端模板
    快速排序
    parseHTML2Vnode
    最大并发请求
    选择排序
    window命令
    Asp.net问题集锦
    ExtJs5.1.1使用中问题集锦
    Sql Server问题集锦
  • 原文地址:https://www.cnblogs.com/mymindview/p/3451427.html
Copyright © 2011-2022 走看看