有人可以告诉我为什么Sysobjects
表有两列xtype
和type
。两者都是数据类型char(2)
并存储对象类型。
答案 0 :(得分:2)
我认为应该使用type
,因为它仍然在新视图中。 xtype
用于向后兼容。
注:
sys.sysobjects
似乎是removed in future versions,您应该使用sys.objects代替。
答案 1 :(得分:0)
您可以查看sysobjects
select OBJECT_DEFINITION(OBJECT_ID('sysobjects'))
AS [processing-instruction(x)] FOR XML PATH('')
哪个给出
CREATE VIEW sys.sysobjects AS
SELECT
/*... Snip ...*/
xtype = type collate database_default,
/*... Snip ...*/
type = convert(char(2), case type
when 'UQ' then 'K' when 'PK' then 'K'
else type collate database_default end),
/*... Snip ...*/
FROM sys.sysschobjs
因此,它们似乎只是UQ
和PK
或显示为K
不同。