计算存储过程的结果

时间:2009-02-19 10:28:18

标签: sql stored-procedures

我有一个存储过程返回ID,名称,描述并且没有输入参数。但是,我感兴趣的是我得到了多少结果。

我期待这样的工作:

SELECT COUNT(*) FROM EXEC MyStoredProcedure

但是我在SqlServer Managment Studio中收到以下错误: 关键字“EXEC”附近的语法不正确。 你能告诉我一些代码示例我该怎么做?

4 个答案:

答案 0 :(得分:23)

这不起作用。我可以建议:

exec MyStoredProcedure
select @@rowcount

或者,您可以将计数作为输出参数返回

答案 1 :(得分:3)

您需要将逻辑放在存储过程中并从存储过程中返回计数。您可以在查询后立即使用@@ ROWCOUNT变量来执行此操作。这样它至少可以在MS SQL Servet中使用。

存储过程

CREATE PROC MyPROC
AS
DECLARE @MyCount int

...

SELECT * FROM MyTable WHERE ...

SELECT @MyCount = @@ROWCOUNT

...

return @MyCOunt

致电代码:

DECLARE @MyCount int

EXEC @MyCount = EXEC MyProc

答案 2 :(得分:2)

SELECT @@ROWCOUNT

答案 3 :(得分:-3)

编写一个新的存储过程,为您计算。