0
点赞
收藏
分享

微信扫一扫

查询 SQL Server 某个库的所有表名和表数据总数

新鲜小饼干 2022-02-25 阅读 131


use ReportServer--数据库名称
go
DECLARE @TableName varchar(255);
CREATE TABLE #GetRecordingTempTable([id] [INT] IDENTITY(1,1) NOT NULL, [TableName] varchar(255) NOT NULL, [RecordingCount] INT);
DECLARE Table_Cursor CURSOR FOR SELECT [name] FROM sysobjects WHERE xtype='U';
OPEN Table_Cursor;
FETCH NEXT FROM Table_Cursor INTO @TableName;
WHILE(@@FETCH_STATUS=0)
BEGIN
EXEC('INSERT INTO #GetRecordingTempTable ([TableName],[RecordingCount]) SELECT '''+@TableName+''', COUNT(0) FROM ['+@TableName+'];');
FETCH NEXT FROM Table_Cursor INTO @TableName;
END
CLOSE Table_Cursor;
DEALLOCATE Table_Cursor;
SELECT [TableName] AS [表名称],[RecordingCount] AS [总记录数] FROM #GetRecordingTempTable ORDER BY [RecordingCount] DESC;
DROP TABLE #GetRecordingTempTable;
GO

--或者

select a.name as 表名,max(b.rows) as 记录条数 from sysobjects as a, sysindexes as b
where a.id=b.id and a.xtype ='u'
group by a.name
order by max(b.rows) desc;



举报

相关推荐

0 条评论