zoukankan      html  css  js  c++  java
  • [SQL2005触发器学习]2、After触发器

    1、After触发器的工作原理

        After触发器是在记录变更完成之后才被激活执行的。以Delete操作为例,当SQLSERVER 接收到一个Delete请求时,SQLSERVER先将需要删除的记录存放到 Deleted 表里面。然后把物理表里面的数据删除,再激活 After 触发器,执行触发器里面的代码。执行完成之后从内存中删除 Deleted 表。(在触发器里面可以使用 Rollback Transaction 回滚操作,取消删除)

        注意:
        ❤ After触发器只能建立在数据表上。
        ❤  一个数据表可以有多个触发器,但是一个触发器只能对应一个表。
        ❤  Truncate Table 语句虽然类似于Delete语句可以删除记录,但是它不激活Delete触发器,因为它不记入日志。
        ❤  writetext语句不能触发 Insert和Update触发器。

    2、After触发器实例

        a) Insert触发器 

    Create Trigger [Insert触发器名]
    ON Table_Name
    After
    Insert
    AS
    Begin
    print '又添加了一条记录'
    if (select count(*) from Inserted)>1
    Begin
    print '一次只能增加一条记录'
    Rollback Transaction
    End
    End
        b) Update 触发器
    Create Trigger [Update触发器]
    on Table_Name
    After
    Update
    AS
    Begin
    print '又更新了一条记录'
    if (select username from Inserted)='admin'
    Begin
    print '不允许用户名为admin'
    Rollback Transaction
    End
    End
        c) Delete 触发器
    Create Trigger [Delete触发器名]
    ON Table_Name
    After
    Delete
    AS
    Begin
    print '删除了一条记录'
    if (select username from Deleted)='admin'
    Begin
    print '不允许删除管理员'
    Rollback Transaction
    End
    End

  • 相关阅读:
    ThinkPHP5 API 文档
    【转】移动web页面使用字体的思考
    【原】移动web页面兼容处理的思考
    20140829分享正则大纲
    javascript reverse string
    备忘“与”、“非”、“或”、“异或” 运算
    关于 Apple Metal API 的一些想法
    transform:rotate在手机上显示有锯齿的解决方案
    JS正则表达式验证数字(很全)
    去掉 wap (android/ios)网页等点击后的阴影
  • 原文地址:https://www.cnblogs.com/heimirror/p/1999512.html
Copyright © 2011-2022 走看看