столбец xtype против типа в Sysobjects - PullRequest
1 голос
/ 30 ноября 2010

Может кто-нибудь сказать, почему в таблице Sysobjects есть два столбца xtype и type. Оба имеют тип данных char(2) и хранят тип объекта.

Ответы [ 2 ]

2 голосов
/ 30 ноября 2010

Я считаю, что type следует использовать, поскольку оно все еще находится в новом представлении.xtype существует для обратной совместимости.

ПРИМЕЧАНИЕ:

Похоже, что sys.sysobjects будет удалено в будущих версиях , и вам следует использовать sys.объекты вместо.

0 голосов
/ 30 ноября 2010

Вы можете посмотреть определение 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 или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...