If you use RETURN in the proc
DECLARE @count int
EXECUTE @count = dbo.usp_GetCount @Id=123
OUTPUT parameter
DECLARE @count int
EXECUTE dbo.usp_GetCount @Id=123, @count OUTPUT
Redirect the results to temp table/table variable
DECLARE @count int
DECLARE @cache TABLE (CountCol int NOT NULL)
INSERT @cache EXECUTE dbo.usp_GetCount @Id=123
SELECT @count = CountCol FROM @cache
You can't assign a recordset from the stored proc directly to a scalar variable
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…