基于SQL几个常用的几个系统表

发表于:2008-1-14 13:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

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、sysColumns   数据库字段表。 当前数据库的所有字段都保留在里面。

重要字段解释:

sysColumns (
  name     sysname,   --字段名称
  id       int,        --该字段所属的表的ID
  xtype    tinyInt,    --该字段类型,关联sysTypes表
  length   smallint,   --该字段物理存储长度
  ...
)


  比如要查询某一个张表的有那些字段和这些字段的长度
       3、sysUsers

  当前数据库的系统组,以及用户。

sysUsers(
  uid smallint,       --用户id
  name smallint ,     --名称
  uid  varbinary(85) , --属于一个登陆
  ....
)

  对数据库的用户进行管理

4、sysdenpends
  当前数据库的依赖关系。   比如 我要修改某一张的结构时,怕修改后会影响到其它的视图 函数 存储过程 ,这是在修改之前可以查询一下.那些视图 函数 存储过程调用了这个表的
  这样在修改后就可以修改的视图 函数 存储过程,


  一般程序员用到的系统表,基本也就这几个 其他的特殊的系统表(主要都在master 或者 tempdb )里面了

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • believe
    2008-1-15 16:34:52

    sysdenpends应为sysdepends

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号