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

本文提供了两种查询SQL表空间使用情况的方法。方法一通过创建存储过程来获取所有用户定义表的空间使用信息,并将数据插入到指定表格中。方法二则直接从系统表中选取表名与记录数。

 

终于解决了这个比较郁闷的问题,分享一下
方法一:
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'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值