关于SQL Server中的系统表——sysobjects

来源:互联网 发布:铁轨放石头知乎 编辑:程序博客网 时间:2024/05/16 14:57

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

        以下是此系统表的字段名称和相关说明。

列名数据类型描述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保留。

 

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

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

       select * from misa.dbo.sysobjects         where xtype='U'and status>0       --查询数据库ufdata_888_2004的用户表            select * from sysobjects             where xtype = 'u' and name like 'fa_%'             order by name      --查询数据库ufdata_888_2004的存储过程            select * from sysobjects             where xtype = 'p' and name like 'fa_%'            order by name      --查询数据库ufdata_888_2004的触发器            select * from sysobjects             where xtype = 'tr' and name like 'sa_%'             order by name查询表名为tb_menu的所有列名1select name from syscolumns where id=object_id('tb_menu')查询表名为tb_menu的所有列名个数2select count(name) from syscolumns where id=object_id('tb_menu')或者3select count(syscolumns.name)from   syscolumns ,sysobjects    where  syscolumns.id=sysobjects.id  and sysobjects.name = 'tb_menu'




原创粉丝点击