SQL更新没有返回任何值?

时间:2012-11-16 18:28:09

标签: sql tsql sql-server-2012

  

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

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

select update container set a = 1

2 个答案:

答案 0 :(得分:0)

您可以使用

SET NOCOUNT OFF;
GO

这将显示已更新的行数。

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

SELECT @@ROWCOUNT;  
GO

我希望这会有所帮助。

答案 1 :(得分:0)

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应该提供相同的结果。