关于SQL Server中的系统表之一 sysobjects

  微软Sql Server数据库是企业开发管理中最常用的数据库系统之一。其功能强大而且使用简单、方便。我们在数据库中创建数据库、表、视图、触发器、存储过程、函数等信息。

  最常用的功能之一,查询数据,例如:

复制代码
1 SELECT [SysAreaId]
2       ,[AreaName]
3       ,[AreaNamePinYin]
4       ,[ShortName]
5       ,[AreaTypeId]
6       ,[Depth]
7       ,[ParentId]
8       ,[PostCode]
9   FROM [SavionPlatMisDB].[dbo].[SysArea]
复制代码

查询结果如下图:

从上图结果看出,查询结果是以网状行、列形式展示出来的。这就是关系型数据库的特性之一。

那么我们创建的表、视图等信息是如何存储的呢?其实SQL Server数据库是一种“自解释”性是存储介质。我们创建的表、视图等也是存储在其系统默认数据库与表中。

其中之一就是sysobjects表。

  SQL Server的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。

       以下是此系统表的字段名称和相关说明。
列名数据类型描述
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 保留。仅限内部使用。
status int 保留。仅限内部使用。
base_schema_
ver
int 保留。仅限内部使用。
replinfo int 保留。供复制使用。
parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdate datetime 对象的创建日期。
ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver int 版本号,该版本号在每次表的架构更改时都增加。
stats_schema_
ver
int 保留。仅限内部使用。
type char(2) 对象类型。可以是下列值之一:

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

userstat smallint 保留。
sysstat smallint 内部状态信息。
indexdel smallint 保留。
refdate datetime 留作以后使用。
version int 留作以后使用。
deltrig int 保留。
instrig int 保留。
updtrig int 保留。
seltrig int 保留。
category int 用于发布、约束和标识。
cache smallint 保留。


    
当xtype='U' and status>0代表是用户建立的表,对象名就是表名,对象ID就是表的ID值。

    用以下代码就可以列出库misa中所有的用户建立的表名:

1    select * from dbo.sysobjects 
2    where xtype='U'and status>0 
posted @   张传宁  阅读(1652)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
页脚 HTML 代码
点击右上角即可分享
微信分享提示