如何用SQL统计存储过程sp_get_lowqtyproduct返回的数据量
统计存储过程返回数据行数的SQL实现方法
针对你调用的EXEC [dbo].[sp_get_lowqtyproduct],可以用以下几种方法统计返回的行数:
方法一:用临时表捕获结果后统计
如果存储过程返回的结果集结构明确,或者你想自动匹配结构,都可以用临时表来实现:
-- 自动生成临时表并插入存储过程结果(无需手动定义列) SELECT * INTO #TempProduct FROM [dbo].[sp_get_lowqtyproduct] -- 统计行数 SELECT COUNT(*) AS 返回行数 FROM #TempProduct -- 清理临时表 DROP TABLE #TempProduct
如果需要手动指定临时表结构(比如要筛选特定列),可以先创建对应结构的临时表再插入:
CREATE TABLE #TempProduct ( ProductID INT, ProductName NVARCHAR(255), StockQty INT -- 这里列需和存储过程返回的列完全匹配 ) INSERT INTO #TempProduct EXEC [dbo].[sp_get_lowqtyproduct] SELECT COUNT(*) AS 返回行数 FROM #TempProduct DROP TABLE #TempProduct
方法二:用@@ROWCOUNT直接获取(仅适用于单个结果集)
如果存储过程只返回一个结果集,执行后立即调用@@ROWCOUNT可以得到行数:
EXEC [dbo].[sp_get_lowqtyproduct] SELECT @@ROWCOUNT AS 返回行数
注意:如果存储过程返回多个结果集,@@ROWCOUNT只会返回最后一个结果集的行数,这种情况建议用临时表方法。
内容的提问来源于stack exchange,提问作者So Phea
相关产品推荐
相关产品推荐

