Ответ 1
Выберите @@rowcount
:
SELECT @@ROWCOUNT;
После выполнения хранимой процедуры.
Как подсчитать количество строк, хранимая процедура вернет самый быстрый способ. Хранимая процедура возвращает строки размером от 100 К до 1 М записей.
Выберите @@rowcount
:
SELECT @@ROWCOUNT;
После выполнения хранимой процедуры.
Вы можете определить выходную переменную:
create procedure x
(@p1 int output)
as
select @p1 = count(*)
from Table
Create procedure procedurename
AS
Begin
Select * from Table --if you want where condition write here
End
Exec Procedurename
Select @@rowcount
Еще один способ получить тот же результат
CREATE PROCEDURE NOMBRE_PROCEDIMIENTO
as
BEGIN
if EXISTS (SELECT * from NOMBRE_TABLA WHERE CONDITIONS HERE)
BEGIN
SELECT @@ROWCOUNT
END
END
У меня есть аналогичная задача с ограничением, что я не должен изменять SP, чтобы получить счет. Следовательно:
sp_configure 'show advanced options', 1;
reconfigure;
go
sp_configure 'ad hoc distributed queries', 1;
reconfigure;
go
select count(*) from
openrowset('SQLOLEDB','Data Source=localhost;Trusted_Connection=yes;
Integrated Security=SSPI','exec DBNAME..SPName')