如何快捷地查询SQL SERVER中每个用户表的表名和行数?

来源:百度知道 编辑:UC知道 时间:2024/05/11 16:37:58
如:在一个SQL数据库中有200张用户表,其中有100张表中有数据,如何才能快捷地查询出哪些用户表有多少行数据?
我记得以前看过一个书里写的是可以从一个系统表中查询出来,如果是这样的话,是从哪个系统表中查询出来?在哪个数据库中?
用你说的方法是查出了表信息,但是哪一列才是表内的记录行数呢?

select * from sysobjects where xtype = 'U'

查询数据库中所有用户表的信息

执行一下就可以了
CREATE TABLE #T ([name] nvarchar(255),rows bigint)
DECLARE @Name nvarchar(255),@Sql nvarchar(4000)
DECLARE TName CURSOR FOR
SELECT [name] FROM sysobjects WHERE xtype = 'U'
OPEN TName
FETCH NEXT FROM TName
INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @Sql='INSERT INTO #T ([name],rows) SELECT '''+@name+''' AS name, COUNT(1) AS row FROM '+@name
EXEC(@Sql)
FETCH NEXT FROM TName INTO @name
END
CLOSE TName
DEALLOCATE TName
SELECT * FROM #T