sql server 2005, 2008で確認 DBの全テーブルのレコード数を取得します。
/*
全てのテーブルのレコード数を取得する。
*/
declare @tname nvarchar(255)
declare @recCnt int
declare @stmt nvarchar(255)
declare @tRecCnt table ( テーブル名 nvarchar(255), レコード数 int )
declare csr_tblRecCnt cursor FOR
SELECT name FROM sys.tables where is_ms_shipped = 0
open csr_tblRecCnt
fetch next FROM csr_tblRecCnt
INTO
@tname
while @@fetch_status = 0
begin
set @stmt = 'select @recCnt = count(*) from ' + @tname
exec sp_executesql @stmt, N'@recCnt int OUTPUT', @recCnt = @recCnt OUTPUT
insert @tRecCnt values ( @tname, @recCnt )
fetch next FROM csr_tblRecCnt -- fetch
INTO
@tname
end
close csr_tblRecCnt
deallocate csr_tblRecCnt
-- result
select * from @tRecCnt order by テーブル名