繁体   English   中英

SQL获取DB中特定表的表行数

[英]SQL get table row count for specific table in DB

我如何通过我的所有数据库进行迭代并获得每个员工表的行数? 每个客户都有自己的DB,需要找到每个DB中的员工总数。

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

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

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

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

EXEC sp_MSforeachdb
@command1='use ?; select count(*) from employee'  

怎么样

    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''在这里是可选的......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM