SQL получить количество строк таблицы для конкретной таблицы в БД - PullRequest
0 голосов
/ 20 января 2012

Как я могу пройти через все мои БД и получить количество строк для каждой таблицы сотрудников?У каждого клиента есть своя БД, нужно найти общее количество сотрудников в каждой БД.

Пытался выяснить, как использовать sp_MSforeachdb

sp_MSforeachdb 
@command1 = 'select count(*) from employee'

Может выводв отдельных таблицах или было бы хорошо в одной таблице с именем БД.

Ответы [ 2 ]

1 голос
/ 20 января 2012

Как насчет

    DECLARE @sql nvarchar(1000)
    SET @sql = 'Use [?];'
      + 'IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ''dbo'' AND  TABLE_NAME = ''employee''))'
      + ' BEGIN'
      + ' SELECT COUNT(*) from [employee]'
      + ' END'
   exec sp_MSforeachDB @sql

TABLE_SCHEMA = '' dbo '' здесь необязательно в большинстве случаев ...

1 голос
/ 20 января 2012

Вы должны указать ему, какую базу данных использовать в первую очередь (это ?):

EXEC sp_MSforeachdb
@command1='use ?; select count(*) from employee'  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...