• 触发器


    在新增时,没有Deleted这个表,只有Inserted表  
      在删除时,没有Inserted这个表,只有Deleted表  
      只有在Update时,才有这两个表  
      所以要看你的需要决定要建几个触发器



    在触发器中,有两个特殊的逻辑表:  
      inserted   和   deleted  
       
      这两个表是系统自动生成的.  
      inserted中记录的是新增或修改后的内容  
      deleted中记录的是删除或修改前的内容   
       
    例如有如下表:  
      a  
      id,name  
      1     aa  
      2     bb  
       
      1.新增  
      执行:insert   into   a(id,name)   values(3,'cc')  
      这时,在触发器中  
      inserted表的内容就是:  
      3   cc  
      deleted表内容为空  
       
      2.修改  
      执行:update   a   set   name=name+'1'   where   id<3  
      这时,在触发器中  
      inserted表的内容就是:  
      1   aa1  
      2   bb1  
      deleted表内容为空  
      1   aa  
      2   bb  
       
      3.删除  
      执行:delete   from   a   where   id=2  
      这时,在触发器中  
      inserted表的内容就是空  
      deleted表内容为空  
      2   bb   
        
      所以你的触发器可以这样写:  
      方法1  
      create   trigger   aa   on   你的表  
      for   insert,delete,update  
      if   exists(select   *   from   inserted)  
          if   exists(select   *   from   deleted)  
                .......                   --记录操作为修改的处理语句  
          else  
          ..........                   --记录操作为新增的处理语句  
      else  
          .........                     --记录操作为删除的处理语句  
       
       
      方法2.分开写  
      create   trigger   aa   on   你的表  
      for   insert  
      as    
      ........                 --记录操作为新增的处理语句  
       
      create   trigger   aa   on   你的表  
      for   update  
      as    
      ........                 --记录操作为修改的处理语句  
       
      create   trigger   aa   on   你的表  
      for   delete  
      as    
      ........                 --记录操作为删除的处理语句  


    deleted和inserted是系统自动生成的两个临时表  
       
      deleted存删除操作前的记录  
       
      inserted存插入的数据记录   
       
  • 相关阅读:
    就现在的几种代码管理库的比较
    就书籍“构造之法”的问题
    软件工程之中期学习总结
    软件项目管理之理解
    软件代码规范之理解
    介绍几个常用的代码管理工具
    关于构建之法的问题
    研究生竞赛系统需求规格说明书
    各种GIT代码托管工具比较
    第一个作业
  • 原文地址:https://www.cnblogs.com/panzhilei/p/783808.html
Copyright © 2020-2023  润新知