every insert/update/select/set/delete statement resets the @@rowcount to the rows affected by the executed statement
It's more general than that. It's just about every statement.
SELECT * FROM master.sys.objects -- 74 rows
SELECT @@ROWCOUNT AS RowsAffected -- 0, because the IF did not affect any rows
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)SQL In The Wild
: Discussions on DB performance with occasional diversions into recoverability
We walk in the dark places no others will enter
We stand on the bridge and no one may pass