各テーブルのカウントを出力するSQL文を作成したいのですが

zyoni
2014-02-27 16:20 1766 2
各テーブルのカウントを出力するSQL文を作成したいのですが、どなたか教えていただけないでしょうか?使用しているDBはSQLServerです。
---作成したSQL文---
declare g_name cursor for
SELECT name FROM sys.objects WHERE type = 'U'

open g_name
fetch next from g_name

while @@FETCH_STATUS = 0
select count(*) from g_name 
fetch next from g_name
end loop

close g_name
deallocate g_name

コメント

2014年 02月 27日 (18:32)
こんにちは。
イノ(inno)です。

各テーブルのカウントを出力するSQL文だと、cursorを使うより下記のSQLを使った方がいいです。

SELECT A.name AS TableName, B.rows
FROM sys.objects AS A
JOIN sys.sysindexes AS B
ON A.object_id = B.id AND B.indid < 2
WHERE A.type = 'U'
ORDER BY A.name

また、他の方法もありますので、下記のリンクをご参考ください。
http://www.innoya.com/Board/ViewBlog.aspx?menuID=4&idx=330
zyoni 2014年 02月 27日 (23:13)
取得できました。ありがとうございます。