dポイントプレゼントキャンペーン実施中!

DB1と言うデータベースの中に
TABLE1、TABLE2、TABLE3・・・
の様にテーブルが複数ある状態で
それぞれのテーブルに何件のデータが
登録されているかをカウントして表示できるような
SQLはあるのでしょうか?

A 回答 (2件)

単体であれば普通だと思うんですが、


SELECT count(*) AS RCOUNT FROM TABLE1
こんな感じで、

で、一応複数のテーブルって書いてあるので、
複数のテーブルを効率良くってことでしょうか?
それならば、以下のような感じで、

DECLARE @name nvarchar(30)
DECLARE @sql nvarchar(200)

DECLARE TCUR CURSOR FOR
SELECT name FROM sysobjects
WHERE type = 'U'
OPEN TCUR

FETCH NEXT FROM TCUR INTO @name
WHILE (@@fetch_status <> -1)
BEGIN

SET @sql = 'SELECT count(*),''' + @name + ''' AS TNAME FROM '+ @name
EXEC(@sql)

FETCH NEXT FROM TCUR INTO @name
END
CLOSE TCUR
DEALLOCATE TCUR

参考にしてください。
    • good
    • 0
この回答へのお礼

質問の内容が曖昧で解り難かったですね。
複数のテーブルを効率良くと言う意味でした。

sysobjectsのType Uでユーザーのテーブルが
取得出来るんですね。
非常に参考になるSQLを書いて頂き
有難う御座いました。

お礼日時:2004/12/08 16:27

クエリアナライザで


select count(*) from TABLE1
って名かんじで数えるだけではだめですか?
    • good
    • 0
この回答へのお礼

単一テーブルのみでしたら
上記のSQLで取得できますね。
回答有難う御座いました。

お礼日時:2004/12/08 16:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!