zoukankan      html  css  js  c++  java
  • 触发器Deleted表和Inserted表


    1 create trigger updateDeleteTime
    2 on user
    3 for update
    4 as
    5 begin 
    6  update user set UpdateTime=(getdate()) from user inner join inserted on user.UID=Inserted.UID
    7 end

    上面的例子是在执行更新操作的时候同时更新,一下修改时间。
    关键在于Inserted表
    触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。
    Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。

    Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。

    1.插入操作(Insert) 
    Inserted表有数据,Deleted表无数据 

    2.删除操作(Delete) 
    Inserted表无数据,Deleted表有数据 

    3.更新操作(Update) 
    Inserted表有数据(新数据),Deleted表有数据(旧数据)

    应用实例代码

    文章转自:   http://sufei.cnblogs.com/    

  • 相关阅读:
    javascript 自定义事件
    javascript 实现HashTable(哈希表)
    NHibernate输出SQL语句
    Asp.net MVC Comet推送
    MySQL 数据备份与还原
    Mysql -- 慢查询
    cookie 的HttpOnly 和 Secure 属性
    Ubuntu -- 反射shell nc
    docker 访问宿主机网络
    k8s 配置文件 详解
  • 原文地址:https://www.cnblogs.com/angleSJW/p/1805833.html
Copyright © 2011-2022 走看看