SQL Server中 sysobjects、sysolumns、systypes

来源:互联网 发布:php webservice 编辑:程序博客网 时间:2024/06/08 06:32

最近在写工作室的开发框架,其中需要读取数据库信息用来自动生成增删改查代码,经过查阅资料发现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存储了字段类型



感谢原作者无私奉献,点击查看原文

0 0
原创粉丝点击