首页 > 代码库 > Sqlserver 中系统表sysobjects、syscolumns以及函数object_id

Sqlserver 中系统表sysobjects、syscolumns以及函数object_id

1、sysobjects

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

sysobjects 重要字段解释:

sysObjects (

Name sysname, --object 名称

id int, --object id

xtype char(2), -- object 类型

type char(2), -- Object 类型(与xtype 似乎一模一样)

uid smallint, -- object 所有者的ID

... --其他的字段不常用到。

)

?

注:需要解释的是 xtype 和type 是一模一样的,他的数据为:

C = CHECK 约束

D = 默认值或 DEFAULT 约束

F = FOREIGN KEY 约束

FN = 标量函数

IF = 内嵌表函数

K = PRIMARY KEY 或 UNIQUE 约束

L = 日志

P = 存储过程

R = 规则

RF = 复制筛选存储过程

S = 系统表

TF = 表函数

TR = 触发器

U = 用户表

V = 视图

X = 扩展存储过程

?

?

?

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(‘表名‘)

?

4、SQL中object_id函数的用法

int object_id(‘objectname‘);

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

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

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

比如:

use wf_timesheet

select object_id(‘usp_check_excess_hours‘)