SQL Server使用系统表统计用户表的记录数

本文介绍了如何利用SQL Server的系统表sysobjects和sysindexes,通过内连接查询来轻松获取数据库中所有用户表的记录数,适用于快速统计大量表的记录数,避免手动操作的繁琐。
摘要由CSDN通过智能技术生成

         今天领导安排一个任务就是统计数据库中各个表的记录数目,我在数据库中数了一下一共有70多张表,当时感觉工作量还是挺大的。但通过查询资料使用了SQL Server内部的系统表,就轻松完成了任务,现记录下来以备他用。  用到的系统表为【sysobjects】、【sysindexes】,通过两张表的内连接查询即可统计出各用户表的记录数目。SQL如下:

with TableRecord(TableName,RecordCount) as  
(  
  select o.name, i.rows
    from sysobjects o, sysindexes i
   where o.id = i.id
     and o.Xtype = 'U'
     and i.indid < 2
)  
select * from TableRecord order by tablename

其中,’U‘代表用户表。

1、关于系统表【sysobjects】字段相关说明

列名 数据类型 描述
name sysname 对象名。
Id int 对象标识号。
xtype char(2) 对象类型。可以是下列对象类型中的一种:

C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程

uid smallint 所有者对象的用户 ID。
info smallint 保留。仅限内部
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值