xtype vs type column in Sysobjects
Can anyone tell me why Sysobjects
table have two c开发者_运维问答olumns xtype
and type
. Both are of data type char(2)
and stores the object type.
I believe type
should be used as it is still in the new view. xtype
is there for backward compatibility.
NOTE:
It appears that sys.sysobjects
will be removed in future versions and you should use sys.objects instead.
You can look at the definition of sysobjects
select OBJECT_DEFINITION(OBJECT_ID('sysobjects'))
AS [processing-instruction(x)] FOR XML PATH('')
Which Gives
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
So it appears they only differ in whether UQ
and PK
or shown as K
or not.
精彩评论