1. ホーム
  2. sql

[解決済み】SQL SERVERデータベースの全テーブルの行数を取得する方法 [重複]について]

2022-03-30 13:41:25

質問

あるデータベースのいずれかのテーブルにデータがあるかどうか(つまり行数)を判断するために使用できるSQLスクリプトを探しています。

アイデアは、(データベースのいずれかに)存在する行がある場合に、データベースを再作成することです。

話題になっているデータベースは Microsoft SQL SERVER .

どなたかサンプルスクリプトをご提案ください。

どのように解決するのですか?

以下のSQLを実行すると、データベース内の全テーブルの行数を取得できます。

CREATE TABLE #counts
(
    table_name varchar(255),
    row_count int
)

EXEC sp_MSForEachTable @command1='INSERT #counts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?'
SELECT table_name, row_count FROM #counts ORDER BY table_name, row_count DESC
DROP TABLE #counts

出力は、テーブルとその行数のリストとなります。

データベース全体の行数の合計が欲しいだけなら、アペンド。

SELECT SUM(row_count) AS total_row_count FROM #counts

を実行すると、データベース全体の行数の合計を表す単一の値が得られます。