Heim  >  Artikel  >  Datenbank  >  SQL Server 2005/2008遍历所有表统计行数

SQL Server 2005/2008遍历所有表统计行数

WBOY
WBOYOriginal
2016-06-07 14:55:131269Durchsuche

在SQL Server 2005/2008中的当前数据库中遍历所有表显示所有表的行数 SQL Server DECLARE CountTableRecords CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' DECLARE @name VARCHAR(80), @sche

在SQL Server 2005/2008中的当前数据库中遍历所有表显示所有表的行数 SQL Server
DECLARE CountTableRecords CURSOR READ_ONLY FOR 
  SELECT sst.name, 
         Schema_name(sst.schema_id) 
  FROM   sys.tables sst 
  WHERE  sst.TYPE = 'U' 
DECLARE @name   VARCHAR(80), 
        @schema VARCHAR(40) 

OPEN CountTableRecords 

FETCH NEXT FROM CountTableRecords INTO @name, @schema 

WHILE ( @@FETCH_STATUS <> -1 ) 
  BEGIN 
      IF ( @@FETCH_STATUS <> -2 ) 
        BEGIN 
		PRINT @name
                DECLARE @sql NVARCHAR(1024) 
		SET @sql='DECLARE @count INT SELECT @count=COUNT(1) FROM ' + Quotename(@schema) 
                           + 
                           '.' + Quotename(@name) +' PRINT @count'
                  EXEC Sp_executesql @sql 
        END 

      FETCH NEXT FROM CountTableRecords INTO @name, @schema 
  END 

CLOSE CountTableRecords 

DEALLOCATE CountTableRecords 

GO
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn