我有一个存储过程,它返回一个表。我只想要记录的数量是可能的
我的程序
create procedure Test
as begin
select * From Student
end
exec测试 将把记录输出 我想要点数
注意:我需要sp来返回select语句的结果。在另一个地方我需要sp返回的记录数,而student表中的列是动态的。
我希望在不修改存储过程的情况下得到答案。
答案 0 :(得分:1)
您可以将数据选择到临时表中,如下所示。但是,您必须使用OPENQUERY
来执行此操作。您还必须首先在服务器上启用数据访问。
Exec sp_serveroption 'ServerName', 'data access', 'true'
SELECT * INTO #TempTable
FROM OPENQUERY("ServerName", 'EXEC Test')
SELECT COUNT(*) FROM #TempTable
答案 1 :(得分:0)
注意:我需要sp来返回select语句的结果。
按原样使用存储过程。也就是说,
create procedure Test
as begin
select * From Student
end
在另一个地方,我需要计算sp和。返回的记录 学生表中的列是动态的。
如果此其他地方是另一个SP,请使用rowcount
。你这样使用它:
EXEC [sp_WhateverTheSPNameIs]
select @@rowcount
了解@@RowCount。这就是你所需要的一切。