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


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 )里面了

 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3