SQL Server中系统视图中的type和xtype有什么区别?

时间:2009-02-25 08:45:51

标签: sql-server

许多系统视图中有几个列有'x'前缀,是否有人知道这意味着什么?

3 个答案:

答案 0 :(得分:3)

最有可能仅用于向后兼容性目的。

  • type是为保持与先前版本兼容的旧列
  • xtype更完整,是应该使用的

请参阅sys.sysobjects (Transact-SQL)了解差异列表。

答案 1 :(得分:0)

xtypeUNIQUE CONTRAINT的{​​p> PRIMARY KEY将分别为UQPK,而type如果两者都为K {{1}} }}

这是我所知道的唯一区别。

答案 2 :(得分:0)

IIRC是sybase兼容性

SQL Server作为sybase的分支开始生活,它只有'type'列

当Microsoft扩展类型时,他们添加了一个新列'xtype'

您可以看到soem类型没有带

的'type'

从master..systypes

中选择名称,xtype,类型

所以一般来说我认为你应该使用'xtype'列,并忽略'type'列