SET NOCOUNT ON                 SET @TotalRecords = @@ROWCOUNT         SET NOCOUNT OFF
return @TotalRecords谁能给我解释一下

解决方案 »

  1.   

    当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。当 SET NOCOUNT 为 ON 时,将不向客户端发送存储过程中每个语句的 DONE_IN_PROC 消息。使用由 SQL Server 2005 提供的实用工具执行查询时,其结果会防止在 Transact-SQL 语句(例如 SELECT、INSERT、UPDATE 和 DELETE)的末尾显示 nn rows affected。如果存储过程中包含的一些语句并不返回许多实际数据,则该设置由于大量减少了网络流量,因此可显著提高性能。SET NOCOUNT 设置是在执行或运行时设置,而不是在分析时设置。
      

  2.   

    DECLARE CURSOR 和 FETCH 将 @@ROWCOUNT 值设置为 1。EXECUTE 语句保留前一个 @@ROWCOUNT。USE、SET <option>、DEALLOCATE CURSOR、CLOSE CURSOR、BEGIN TRANSACTION 或 COMMIT TRANSACTION 等语句将 ROWCOUNT 值重置为 0。
      

  3.   


    SET NOCOUNT ON
    使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息。@@ROWCOUNT
    返回受上一SQL语句影响的行数。