| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1201 人关注过本帖
标题:请问如何统计一个数据库中每有表的记录总数呢?
只看楼主 加入收藏
kobe412
Rank: 1
来 自:网络的另一边
等 级:新手上路
威 望:1
帖 子:322
专家分:0
注 册:2006-6-12
收藏
 问题点数:0 回复次数:3 
请问如何统计一个数据库中每有表的记录总数呢?

请问如何统计一个数据库中每有表的记录总数呢?


set nocount on
if object_id(N'tempdb.db.#temp') is not null
drop table #temp
create table #temp (name sysname,count numeric(18))

insert into #temp
select o.name,i.rows
from sysobjects o,sysindexes i
where o.id=i.id and o.Xtype='U' and i.indid<2

select count(count) 总表数,sum(count) 总记录数 from #temp
select * from #temp
set nocount off

这是我在网上找的一个例子,但是好像不是很准确,
问一下能不能通过建立索引的方法来实现?

[此贴子已经被作者于2007-11-21 14:06:43编辑过]

搜索更多相关主题的帖子: 数据库 统计 记录 总数 
2007-11-21 14:05
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
1.通过sysobjects获得所有表名.
2.建一个Cursor查刚那些表.
3.声明一个变量来存放表里的记录数.

我的msn: myfend@
2007-11-21 14:13
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 


IF EXISTS(SELECT * FROM dbo.SYSOBJECTS WHERE ID=OBJECT_ID(N'[GetAllTableRecordCount]')
AND OBJECTPROPERTY(ID,N'IsProcedure')=1)
DROP PROC [GetAllTableRecordCount]
GO

CREATE PROC dbo.[GetAllTableRecordCount]
AS
DECLARE @SQL NVARCHAR(4000),@TABLENAME NVARCHAR(128)
DECLARE @recordCount INT,@TCOUNT INT
DECLARE @T TABLE(tb_name NVARCHAR(128),RecordCount INT)

SET @recordCount=0
DECLARE db_Cur CURSOR FOR
SELECT NAME FROM dbo.SYSOBJECTS WHERE xtype=N'U'
OPEN db_Cur
FETCH NEXT FROM db_Cur INTO @TABLENAME
WHILE @@FETCH_STATUS=0
BEGIN
SET @SQL=N'SELECT @COUNT=COUNT(1) FROM ['+@TABLENAME+N']'
EXEC SP_EXECUTESQL @SQL,N'@COUNT INT OUTPUT',@TCOUNT OUTPUT
INSERT INTO @T VALUES(@TABLENAME,@TCOUNT)
SET @recordCount=@recordCount+@TCOUNT
FETCH NEXT FROM db_Cur INTO @TABLENAME
END
INSERT INTO @T VALUES('记录总数',@recordCount)
CLOSE db_Cur
DEALLOCATE db_Cur
SELECT * FROM @T
GO

EXEC GetAllTableRecordCount


我的msn: myfend@
2007-11-21 14:47
kobe412
Rank: 1
来 自:网络的另一边
等 级:新手上路
威 望:1
帖 子:322
专家分:0
注 册:2006-6-12
收藏
得分:0 
谢谢,,

俺这么帅气的人,俺为了挖矿打光棍俺容易吗?
2007-11-21 15:12
快速回复:请问如何统计一个数据库中每有表的记录总数呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018358 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved