Se você usar RETURN no proc
DECLARE @count int
EXECUTE @count = dbo.usp_GetCount @Id=123
Parâmetro de SAÍDA
DECLARE @count int
EXECUTE dbo.usp_GetCount @Id=123, @count OUTPUT
Redirecione os resultados para a tabela temporária/variável de tabela
DECLARE @count int
DECLARE @cache TABLE (CountCol int NOT NULL)
INSERT @cache EXECUTE dbo.usp_GetCount @Id=123
SELECT @count = CountCol FROM @cache
Você não pode atribuir um conjunto de registros do proc armazenado diretamente a uma variável escalar