时间:2021-07-01 10:21:17 帮助过:32人阅读
在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 ServerDECLARE 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