21

ストアド プロシージャが返す行数を最も速くカウントするにはどうすればよいですか。ストアド プロシージャは、約 100K から 1M レコードの行を返します。

4

7 に答える 7

29

選択@@rowcount:

SELECT @@ROWCOUNT;

ストアド プロシージャの実行後。

于 2013-01-23T07:32:30.953 に答える
5

出力変数を定義できます:

create procedure x
    (@p1 int output)
as
    select @p1 = count(*) 
    from Table
于 2013-01-23T07:31:55.143 に答える
1
Create procedure procedurename
AS
Begin

    Select * from Table --if you want where condition write here

End

Exec Procedurename

Select @@rowcount
于 2014-05-07T12:25:33.320 に答える
0

カウントを取得するために 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')
于 2016-10-17T10:29:28.510 に答える