SQL Server 查询表的记录数(3种方法,推荐第一种)
2016-05-24 15:16
281 查看
--SQL Server 查询表的记录数 --one: 使用系统表. SELECT object_name (i.id) TableName, rows as RowCnt FROM sysindexes i INNER JOIN sysObjects o ON (o.id = i.id AND o.xType = 'U ') WHERE indid < 2 ORDER BY TableName --****************** --two: 使用未公开的过程 "sp_MSforeachtable " CREATE TABLE #temp (TableName VARCHAR (255), RowCnt INT) EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?' SELECT TableName, RowCnt FROM #temp ORDER BY TableName DROP TABLE #temp --****************** -- three: 使用游标.cursor SET NOCOUNT ON DECLARE @tableName VARCHAR (255), @sql VARCHAR (300) CREATE TABLE #temp (TableName VARCHAR (255), rowCnt INT) DECLARE myCursor CURSOR FAST_FORWARD READ_ONLY FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'base table ' OPEN myCursor FETCH NEXT FROM myCursor INTO @tableName WHILE @@FETCH_STATUS = 0 BEGIN EXEC ( 'INSERT INTO #temp (TableName, rowCnt) SELECT ''' + @tableName + ''' as tableName, count(*) as rowCnt from ' + @tableName) FETCH NEXT FROM myCursor INTO @tableName END SELECT TableName, RowCnt FROM #temp ORDER BY TableName CLOSE myCursor DEALLOCATE myCursor DROP TABLE #temp
转自:/article/10293249.html
相关文章推荐
- SQL3
- MySQL存储过程
- mysql server的安装和配置
- redis实现的分布式锁
- Windows下Redis的安装使用(带Java示例)
- redis协议
- Oracle EBS 供应商分行创建
- 可靠的Windows版Redis
- Oracle EBS 供应商银行创建
- redis windows下的环境搭建
- SQL 2008 和SQL 2012 一起安装到同一台电脑上 以及 sql 提示框总是红色的边框解决方法
- Windows下安装并设置Redis
- MySQL生成-单据号不重复
- sqlite学习笔记
- 【Django】数据库操作
- MYSQL explain详解
- Hibernate 简化继承映射
- 数据库表关联小结
- mysql存储过程详解
- MYSQL搜索引擎