【问题标题】:No value returned from SQL update? [duplicate]SQL 更新没有返回值? [复制]
【发布时间】:2012-11-16 18:28:08
【问题描述】:

可能重复:
Getting no. of rows affected after running select query in SQL Server 2005

如何获取更新所更新的行数?像这样的:

select update container set a = 1

【问题讨论】:

标签: sql tsql sql-server-2012


【解决方案1】:

你可以使用

SET NOCOUNT OFF;
GO

这将显示更新的行数。

您还可以使用非常酷的@@ROWCOUNT 变量,它返回受上次操作影响的行数。

SELECT @@ROWCOUNT;  
GO

我希望这会有所帮助。

【讨论】:

    【解决方案2】:
    DECLARE @UPDATED_RECORDS int
    SET @UPDATED_RECORDS = 0
    
    select update container set a = 1
    
    Select @UPDATED_RECORDS = @@ROWCOUNT
    

    紧接着更新语句,您应该得到现在存储在@UPDATED_RECORDS 变量中的更新记录总数。

    当然,如果没有更新过滤器,您将更新表中的每一行,因此在这种情况下 SELECT COUNT(1) FROM CONTAINER 应该提供相同的结果。

    【讨论】:

      猜你喜欢
      • 2016-02-24
      • 2020-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-10
      • 2014-06-13
      • 2012-06-16
      • 1970-01-01
      相关资源
      最近更新 更多