日期:2014-05-17  浏览次数:20660 次

关于sys.syscolumns系统表的字段
我先问一下sys.syscolumns中下面两组字段分别存储的是什么以及它们之间的区别是什么

1. xtype,xusertype,type

2.length,prec,xprec(这个在帮助文档的说明里还像说不提供支持)

------解决方案--------------------
关于sys.syscolumns,将此 SQL Server 2000 系统表作为一个视图包含进来是为了保持向后兼容性。
建议您改用最新的 SQL Server 系统视图。若要查找一个或多个等效系统视图,请参阅将 SQL Server 2000 系统表映射到 SQL Server 2005 系统视图。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

xtype :sys.types 中的物理存储类型。
xusertype :扩展的用户定义数据类型的 ID。 如果数据类型的数字超过 32,767,则溢出或返回 NULL。
usertype :sys.types 中的用户定义数据类型的 ID。 如果数据类型的数字超过 32,767,则溢出或返回 NULL。

prec:此列的精度级别。-1 = xml 或大值类型。
length:sys .types 中的最大物理存储长度。
xprec:标识为仅供参考。不提供支持。不保证以后的兼容性。(不提供支持就是预留字段,暂时没有用,以后可能删除)

参考:
http://technet.microsoft.com/zh-cn/ms186816(v=sql.105)
------解决方案--------------------
关于type 和 xtype的区别:

参考:
http://www.cnblogs.com/chengunfu/archive/2009/06/10/1500325.html
------解决方案--------------------
关于syscolumns表中个字段的说明,请参考 sys.syscolumns