我有一个存储过程返回ID,名称,描述并且没有输入参数。但是,我感兴趣的是我得到了多少结果。
我期待这样的工作:
SELECT COUNT(*) FROM EXEC MyStoredProcedure
但是我在SqlServer Managment Studio中收到以下错误: 关键字“EXEC”附近的语法不正确。 你能告诉我一些代码示例我该怎么做?
答案 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)
编写一个新的存储过程,为您计算。