zoukankan      html  css  js  c++  java
  • 触发器deleted 表和 inserted 表详解!!!

     阅读全文并下载代码:http://www.sufeinet.com/thread-264-1-1.html

    create trigger updateDeleteTime
    on user
    for update
    as
    begin 
     
    update user set UpdateTime=(getdate()) from user inner join inserted on user.UID=Inserted.UID
    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表有数据(旧数据)

    应用实例

    代码
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go


    -- =============================================
    --
     Author:        <Author,sufei>
    --
     Create date: <Create Date,2010-05-11>
    --
     Description:    <当是短信充值时修改相信的记录使记录不会重复获取>
    --
     =============================================
    ALTER TRIGGER [dbo].[updatestart]
       
    ON [dbo].[OrderTelecom] FOR update
    AS 
    BEGIN
        
        
    DECLARE @state int;
        
    DECLARE @note2 varchar(50)
        
        
    SELECT  @state= Inserted.ortState,@note2 =Inserted.ortNote2 from Inserted
        
        
    IF @state=1 AND @note2=1
         
    begin
            
    --当发短信猫取走记录时修改状态为成功和取过的状态
          update OrderTelecom set OrderTelecom.ortState=2 ,OrderTelecom.ortSmsmessages='短信充值成功'
          
    from OrderTelecom inner join Inserted on OrderTelecom.ortId=Inserted.ortId 
         
    end
         
         
    if @state in(2,3,10and @note2=0
          
    begin
          
    update OrderTelecom set ortNote2=1
          
    from OrderTelecom inner join Inserted on OrderTelecom.ortId=Inserted.ortId 
         
    end
     
    END


    本人的博客不再维护从2013年就不再维护了 需要我帮助的朋友请到我的个人论坛 http://www.sufeinet.com 进行讨论,感谢大家对我的支持!
  • 相关阅读:
    Binary Tree Inorder Traversal
    Populating Next Right Pointers in Each Node
    Minimum Depth of Binary Tree
    Majority Element
    Excel Sheet Column Number
    Reverse Bits
    Happy Number
    House Robber
    Remove Linked List Elements
    Contains Duplicate
  • 原文地址:https://www.cnblogs.com/sufei/p/1487500.html
Copyright © 2011-2022 走看看