输出一个数据库中所有表的数据量
2013-03-12 11:07
162 查看
此TSQL语句是针对SQL Server 2012编写。如果使用之前版本,需要对部分语句进行重写。
USE [数据库名称]; --1.建立临时表,来存放结果。 /* 临时表数据结构: struct Table_TableCount { string TableName;//表名字 Int64 Count;//表数据量 } */ --1.1 如果临时表存在,则删除 If Exists ( Select * From Tempdb..SysObjects Where ID = Object_id( 'TempDB..#Table_TableCount') ) Begin Drop Table #Table_TableCount; End; --1.2 建立临时表 create table #Table_TableCount ( [TableName] [Nvarchar](max) NOT NULL, [Count] [Bigint] NOT NULL ); --2.用游标Cursor_Table,遍历所有表 DECLARE Cursor_Table CURSOR FOR SELECT name from sysobjects WHERE xtype = 'u' AND name <> 'dtproperties'; OPEN Cursor_Table; DECLARE @tableName NVARCHAR(MAX); FETCH NEXT from Cursor_Table INTO @tableName; WHILE @@fetch_status = 0 BEGIN --3.获取游标所指向的当前表的名称,以及数据量,将这两个信息插入临时表 DECLARE @tempSQLText NVARCHAR(MAX) = 'DECLARE @CurrentTableCount Bigint = ( SELECT COUNT(*) From [' + @tableName + '] ); INSERT INTO #Table_TableCount ([TableName],[Count]) VALUES (''' + @tableName + ''', @CurrentTableCount );'; EXEC( @tempSQLText ); FETCH NEXT from Cursor_Table INTO @tableName; END CLOSE Cursor_Table; DEALLOCATE Cursor_Table; --4.输出(通过构造不同的SELECT语句,来获取不同的输出方式) SELECT * FROM #Table_TableCount WHERE [COUNT] > 0 ORDER BY [Count] DESC; --当前是输出数据量大于0,并且按数据量的降序排序
相关文章推荐
- 有一个数据表,但是我只知道一个字段的名称。现在我想查询数据库里面的除去这个字段的所有数据!
- hadoop超时解决办法context.progress()的作用 假设在map()方法中,你有一个从数据库读取大量数据的操作,是用一个循环来完成的,并且,在读完全部的数据之前,你不会有任何的数据输出
- 一个函数抓取代谢组学权威数据库HMDB的所有表格数据
- 删除一个数据库中所有数据的方法
- 更新数据库所有表的某一个指定字段 ,附加对‘将 varchar 值转换为数据类型为 int 的列时发生语法错误’处理方法
- 将一个数据库中所有表的数据全部删除的命令
- 遍历查询一个数据库中所有表,列出表名和每个表中的数据行数
- 清除一个数据库里所有表的数据
- 在Mysql中怎样返回一个数据库的所有表名,列名数据类型备注
- 如何将一个表格的所有数据存到数据库的一个字段里,并如何将这一个数据字段里的数据填充到前端表格里
- servlet处理数据库表中所有数据,在jsp页面表格中用jst forEach输出解决办法
- 一个AJAX列子,通过读取后台数据库数据转换为xml格式进行输出
- information_schema数据库的使用 ->查询一个数据的所有记录总数
- 清空一个数据库中所有表的数据的sql语句
- Mysql中返回一个数据库的所有表名,列名数据类型备注
- 怎样将一个数据库里的所有数据表的名字绑定到ComboBox中
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
- 一个MySQL清除数据库所有表数据保留表结构的存储过程
- Mysql中返回一个数据库的所有表名,列名数据类型备注
- java后台 jstl输出数据库表中的一组数据&&jstl输出数据库表中的所有数据并放在List集合