- ベストアンサー
全テーブルのデータの行数
DB1と言うデータベースの中に TABLE1、TABLE2、TABLE3・・・ の様にテーブルが複数ある状態で それぞれのテーブルに何件のデータが 登録されているかをカウントして表示できるような SQLはあるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#11722
回答No.1
単体であれば普通だと思うんですが、 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 参考にしてください。
その他の回答 (1)
- hanaoo
- ベストアンサー率27% (6/22)
回答No.2
クエリアナライザで select count(*) from TABLE1 って名かんじで数えるだけではだめですか?
質問者
お礼
単一テーブルのみでしたら 上記のSQLで取得できますね。 回答有難う御座いました。
お礼
質問の内容が曖昧で解り難かったですね。 複数のテーブルを効率良くと言う意味でした。 sysobjectsのType Uでユーザーのテーブルが 取得出来るんですね。 非常に参考になるSQLを書いて頂き 有難う御座いました。