• @@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
  • 相关阅读:
    C语言第四章
    C第三章,指代数据
    DES+MD5加密
    时间选择器
    百度地图定位
    Httputils请求网络数据
    xStream解析xml文件
    pulltorefresh
    slidingmenu的应用
    Duutils创建数据库
  • 原文地址:https://www.cnblogs.com/hyl8218/p/1625449.html
Copyright © 2020-2023  润新知