0

我如何遍历所有数据库并获取每个员工表的行数?每个客户都有自己的数据库,需要找到每个数据库中的员工总数。

一直试图弄清楚如何使用sp_MSforeachdb

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

可以在单独的表中输出,也可以在一个带有数据库名称的表中输出。

4

2 回答 2

1

您需要告诉它首先使用哪个数据库(在 中?):

EXEC sp_MSforeachdb
@command1='use ?; select count(*) from employee'  
于 2012-01-19T22:14:29.903 回答
1

怎么样

    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'' 在大多数情况下是可选的...

于 2012-01-19T22:16:18.417 回答