Transact-SQL 示例 - 查询某个数据库内的所有表的记录行数及其总和
2012-12-04 15:22
519 查看
直接上SQL脚本
?
执行:dbo.ShowAllTableRows'AdventureWorks'的效果
CREATE PROCEDURE dbo.ShowAllTableRows @databaseNameNVARCHAR(100) AS BEGIN --declare@databaseNamenvarchar(100) --set@databaseName='tempdb' DECLARE @dynamicSqlNVARCHAR(4000) SET @dynamicSql= N 'USE' +@databaseName+N '; SETNOCOUNTON; DECLAREcurCURSORLOCAL FORWARD_ONLYREAD_ONLY FOR SELECT ' '[' '+s.name+' ']' ' +' '.[' '+t.name+' ']' 'TableName FROM sys.tablestINNERJOINsys.schemass ONt.schema_id=s.schema_id; OPENcur --IFEXISTS(SELECTobject_id(N' 'tempdb..#table' ')) --DROPTABLE#table CREATETABLE#table( [TableName]NVARCHAR(300)PRIMARYKEY, [Rows]INT ) DECLARE@tableNameVARCHAR(100) FETCHNEXTFROMcur INTO@tableName WHILE@@FETCH_STATUS=0 BEGIN DECLARE@sqlNVARCHAR(2000) SET@sql=' 'INSERTINTO#table([TableName],[Rows])VALUES(' ' SET@sql=@sql+' '' '' '' '+@tableName+' '' '' ',' ' +' '(SELECTCOUNT(*)FROM' '+@tableName+' '))' ' execsp_executesql@sql --print@sql FETCHNEXTFROMcur INTO@tableName END CLOSEcur DEALLOCATEcur SELECT*FROM#tableORDERBY[Rows]DESC DECLARE@allRowsINT; SET@allRows=(SELECTSUM([Rows])FROM#table); PRINT@allRows;' ; --PRINT@dynamicSql; exec sp_executesql@dynamicSql END |
相关文章推荐
- Transact-SQL 示例 - 查询某个数据库内的所有表的记录行数及其总和
- Sql server 2005 查询某个数据库下的所有表的记录行数
- 查询某个数据库下的所有表的记录行数
- SQL Server 查询某个数据库内的所有表的记录行数
- sql查询数据库中所有表的记录条数,以及占用磁盘空间大小。
- Sql server 2005 查询某个数据库下的所有表的记录行数
- SQL 2005 查询某个数据库下所有表的记录数的方法
- sql语句查询Oracle|sql server|access 数据库里的所有表名,字段名
- Oracle查询数据库中所有表的记录数
- SQL--统计出所有数据库内用户表的记录总数
- 检查sql表中包含的列 和 查询某数据库所有表
- 数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
- sql语句查询数据库里的所有表名,字段名
- Oracle查询数据库中所有表的记录数
- 遍历查询一个数据库中所有表,列出表名和每个表中的数据行数
- SQL:查询某数据库中的所有表名称或者是查询某条件下的名称
- 【转载】1条SQL语句查询1个库内所有的记录数
- SQL脚本获取指定数据库的所有用户表记录数
- SQL 数据库 学习 022 查询-05 top 的用法 --- 最前面的若干个记录
- 【数据库】SQL查询多条不重复记录值简要解析