Подтвердить что ты не робот

Подсчет результатов хранимой процедуры

У меня есть хранимая процедура, возвращающая идентификатор, имя, описание и не принимающая входных параметров. Тем не менее, меня интересует, сколько результатов я получаю.

Я ожидал чего-то вроде этой работы:

SELECT COUNT(*) FROM EXEC MyStoredProcedure

Но в SqlServer Managment Studio я получаю следующую ошибку: Неправильный синтаксис рядом с ключевым словом "EXEC". Не могли бы вы показать мне пример небольшого кода, как я могу это сделать?

4b9b3361

Ответ 1

Это не сработает. Могу ли я предложить:

exec MyStoredProcedure
select @@rowcount

В качестве альтернативы вы можете вернуть счет в качестве выходного параметра

Ответ 2

Вам нужно поместить логику в сохраненный proc и вернуть счет из сохраненного proc. Вы делаете это, используя переменную @@ROWCOUNT сразу после вашего запроса. Это, как минимум, будет работать в MS SQL Servet.

Сохраненный Proc:

CREATE PROC MyPROC
AS
DECLARE @MyCount int

...

SELECT * FROM MyTable WHERE ...

SELECT @MyCount = @@ROWCOUNT

...

return @MyCOunt

Код вызова:

DECLARE @MyCount int

EXEC @MyCount = EXEC MyProc

Ответ 3

SELECT @@ROWCOUNT

Ответ 4

Напишите новую хранимую процедуру, которая делает для вас счет.