SQL Server: одна из ситуаций, в которой вы должны использовать SELECT, это когда присваиваете @@ ERROR и @@ ROWCOUNT, так как они должны быть установлены в одном и том же выражении (в противном случае они сбрасываются):
SELECT @error = @@ERROR, @rowcount = @@ROWCOUNT
(SET работает только с одним значением за раз)