SQL Server 系统表 sysobjects中xtype和type区别

sysobjects 在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。
 
sysobjects 中有二个表示对象类型的字段(type,xtype)。

type是在 SQL Server 6.0 就有的,xtype在 SQL Server 7.0 才出现的。

对比了一下 type 与 xtype,有一些不同:
type:
    K = PRIMARY KEY 或 UNIQUE 约束
    R = 规则

xtype:
    PK = PRIMARY KEY 约束(类型是 K)
    UQ = UNIQUE 约束(类型是 K)

xtype                                                     type   
--相同的
  C   =   CHECK   约束                     C   =   CHECK   约束   
  D   =   默认值或   DEFAULT   约束        D   =   默认值或   DEFAULT   约束   
  F   =   FOREIGN   KEY   约束             F   =   FOREIGN   KEY   约束   
  FN   =   标量函数                        FN   =   标量函数   
  IF   =   内嵌表函数                      IF   =   内嵌表函数   
  P   =   存储过程                         P   =   存储过程   
  RF   = 复制筛选存储过程                  RF   =   复制筛选存储过程   
  S   =   系统表                           S   =   系统表   
  TF   =   表函数                          TF   =   表函数   
  TR   =   触发器                          TR   =   触发器   
  U   =   用户表                           U   =   用户表   
  V   =   视图                             V   =   视图   
  X   =   扩展存储过程                     X   =   扩展存储过程   
  L   =   日志                             L   =   日志

    
  --不同的   
  PK   =   PRIMARY   KEY   约束(类型是K)   K   =   PRIMARY   KEY   或   UNIQUE   约束   
  UQ   =   UNIQUE   约束(类型是   K)         R   =   规则 

posted @ 2018-01-23 12:59  幸福在敲门  阅读(499)  评论(0编辑  收藏  举报