在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
本文原创发布php中文网,转载请注明出处,感谢您的尊重!