首页 > 代码库 > SQL Server中 sysobjects、sysolumns、systypes

SQL Server中 sysobjects、sysolumns、systypes

1、sysobjects 

     系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等

       在大多数情况下,对你最有用的两个列是Sysobjects.name和Sysobjects.xtype。前面一个用来列出待考察对象的名字,而后一个用来定义对象的类型

 

列名数据类型描述
namesysname对象名。
Idint对象标识号。
xtypechar(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 = 扩展存储过程

uidsmallint所有者对象的用户 ID。
infosmallint保留。仅限内部使用。
statusint保留。仅限内部使用。
base_schema_
ver
int保留。仅限内部使用。
replinfoint保留。供复制使用。
parent_objint父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdatedatetime对象的创建日期。
ftcatidsmallint为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_verint版本号,该版本号在每次表的架构更改时都增加。
stats_schema_
ver
int保留。仅限内部使用。
typechar(2)对象类型。可以是下列值之一:

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

userstatsmallint保留。
sysstatsmallint内部状态信息。
indexdelsmallint保留。
refdatedatetime留作以后使用。
versionint留作以后使用。
deltrigint保留。
instrigint保留。
updtrigint保留。
seltrigint保留。
categoryint用于发布、约束和标识。
cachesmallint保留。

 

 

 

2、sysolumns

 

当前数据库的所有字段都保留在里面。 
重要字段解释:
sysColumns (
  name     sysname,   --字段名称
  id       int,        --该字段所属的表的ID
  xtype    tinyInt,    --该字段类型,关联sysTypes表
  length   smallint,   --该字段物理存储长度
  ...
)

 

3、SQL中的sysobjects与syscolumns

 

查看所有表名:

 

select   name   from   sysobjects   where   type=‘U‘

 

查询表的所有字段名:

 

Select name from syscolumns Where ID=OBJECT_ID(‘表名‘)

 

 

 

int object_id(‘objectname‘);

 

     此方法返回数据库对象标识号。

 

其中,参数objectname 表示要使用的对象,其数据类型为nchar或char(如果为char,系统将其转换为nchar)

 

返回类型为int,表示该对象在系统中的编号。

 

比如:

 

use wf_timesheet
select object_id(‘usp_check_excess_hours‘)

 

select   *   from   dbo.sysobjects   where   id   =   object_id(N‘[dbo].[COMPANY_REL]‘)

 

(N‘‘ 代表 Unicode类型.可以支持不同语种的对象名)

 

 

 

 

 

SQL SERVER 数据库系统表systypes存储了字段类型

SQL Server中 sysobjects、sysolumns、systypes