• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    判断触发器正在处理的是插入,删除还是更新触发
    但是有时候,可以视看处进逻辑程度,可以把三者写成一个触发器,只是在其中稍作判断而已。

    你可以根据从下面方法判断触发器是是处理了插入,删除还是更新触发的:

    复制代码 代码如下:

    --宣告两个变量
    DECLARE @D BIT = 0
    DECLARE @I BIT = 0

    --如果在DELETED内部临时触发表找到记录,说明旧数据被删除
    IF EXISTS(SELECT TOP 1 1 FROM DELETED)
    SET @D = 1

    --如果在INSERTED内部临时触发表找到记录,说明有新数据插入
    IF EXISTS(SELECT TOP 1 1 FROM INSERTED)
    SET @I = 1

    --如果两个表都有记录,说明触发器是执行更新触发
    IF @I = 1 AND @D = 1
    PRINT(N'更新。')

    --如果变量@I值被变更为1,而变量@D没有变更,说明触发器是执行插入触发
    IF @I = 1 AND @D = 0
    PRINT(N'插入')

    --下面判断成立,说明说明触发器是执行删除触发
    IF @I = 0 AND @D = 1
    PRINT(N'删除')


    另外有关两个内部临时触发表,触发器的Inserted表和Deleted表

    触发器有两个虚拟表,Inserted表和Deleted表,这两个表在不同操作情况之下,表中的数据状态可不一样。
    一、插入操作(INSERT)时:Inserted表有数据,Deleted表无数据。
    二、更新操作(UPDATE)时:Inserted表有数据(新数据),Deleted表有数据(旧数据)。
    三、删除操作(DELETE)时:Inserted表无数据,Deleted表有数据。
    您可能感兴趣的文章:
    • sqlserver 触发器实例代码
    • 简单触发器的使用 献给SQL初学者
    • sqlserver 触发器教程
    • SQL Server触发器及触发器中的事务学习
    • MySQL与SQL的触发器的不同写法
    • sqlserver 禁用触发器和启用触发器的语句
    • SQL Server 2000中的触发器使用
    • 数据库触发器(Trigger)的一点使用心得
    • SQLServer 触发器 数据库进行数据备份
    上一篇:SQL 统计一个数据库中所有表记录的数量
    下一篇:sqlserver自动增长列引起的问题解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    判断触发器正在处理的是插入,删除还是更新触发 判断,触发器,正在,处理,