查询数据库中所有表的行数(sqlserver 2000) .

来源:互联网 发布:粒子滤波算法与卡尔曼 编辑:程序博客网 时间:2024/05/08 06:30
 
方法一:
create proc ss
as
set nocount on
create table TableSpace
(
 TableName  varchar(50),
 RowsCount char(11),
 Reserved varchar(18),
 Data  varchar(18),
 Index_size varchar(18),
 Unused  varchar(18) 
)
declare @sql varchar(500)
declare @TableName varchar(50)
declare Cursor1 Cursor
for
 select name from sysobjects where xtype='U'
open Cursor1
fetch next from Cursor1 into @TableName
while @@fetch_status = 0
begin
 set @sql = 'insert into TableSpace '
 set @sql = @sql + ' exec sp_spaceused '''+ @TableName + ''' '
 exec (@sql)
 fetch next from Cursor1 into @TableName
end
close Cursor1
deallocate Cursor1
select tableName,rowscount from TableSpace where tableName<>'TableSpace'
drop table TableSpace
go
exec ss
方法二:
select 表名=a.name,记录数=b.rows 
from sysobjects a,sysindexes b
where a.name=b.name and  a.type='u'