zoukankan      html  css  js  c++  java
  • @@RowCount和“SET NOCOUNT ON”在触发器中使用的先后顺序引起的问题

    一般我们在触发器中都会使用@@ROWCOUNT和SET NOCOUNT ON。但是如果不注意它们之间的顺序则可能出问题。今天写了一个触发器一直不起作用,找了很久一直没有找到原因。 代码如下:

    ALTER TRIGGER [trg_Houses_Updated]
       
    ON  [dbo].[Houses]
       AFTER 
    UPDATE
    AS 
    BEGIN
        
    SET NOCOUNT ON;

        
    IF @@ROWCOUNT = 0
        
    RETURN;


        ...
    END

    最后突然想起来可能是SET NOCOUNT ON的原因,使@@RowCount不起作用了。然后尝试的将SET NOCOUNT ON和@@RowCount的前后顺序条换了一下果然可以使用了。修改后的代码如下:

     1 ALTER TRIGGER [trg_Houses_Updated]
     2    ON  [dbo].[Houses]
     3    AFTER UPDATE
     4 AS 
     5 BEGIN
     6     IF @@ROWCOUNT = 0
     7         RETURN;
     8 
     9     SET NOCOUNT ON;
    10     ...
    11 END
  • 相关阅读:
    CentOS 6.5 伪分布式 安装 hadoop 2.6.0
    单例模式的思想简介
    最有二叉树 哈夫曼树
    二叉树2
    二叉树1
    栈与队列
    线性表
    字符串模式匹配KMP算法
    数据结构(四) 查找 排序
    数据结构(三) 图
  • 原文地址:https://www.cnblogs.com/hyl8218/p/1625449.html
Copyright © 2011-2022 走看看