SQL Server 查询表的记录数(3种方法,推荐第一种)

--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 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值