sql server:关于系统表[syscolumns]和[systypes]xtype和type

sql server:关于系统表[syscolumns]和[systypes]xtype和type
2008-10-24 17:33

上网看了一些资料,结合我自己的猜想结论有4点。前三点参照其它的人说法,具体内容,可以在附录里面找到。

1、一种说法是

type是6.0就有的,xtype是7.0才有的。

2、同时保留这两个是为了兼容性考虑。

3、xtype是物理存储类型, type是物理存储数据类型

(参见附录第1个链接)

4、结合上面几点上我以前编程和研究暗黑数据库的经验,也许xtype和type之间还有一种递归或者继承的关系在里面。

在附录1的页面上有人做了一个实验:

select name,xtype,type,status from systypes where type=39

结果是得到了'nvarchar'等4个类型

我又做了一个实验:

select name,xtype,type,status from systypes ORDER BY [type]

结果中我看到这样的内容:

ntext 99 35 0
text 35 35 0

这表明type和xtype之间肯定有关某种关联。看起来不太像暗黑的递归,倒类似面向对象里面的继承。 可是在表systypes里面,可以看到不管是xtype还是type都不是连续的数字。那么缺少的那些到哪里去了呢?在这个地方我有一个待验证的想法:是不是还有另外一个表,存储了type=39中的更多数据呢?

附录:几个讨论这个问题的文章

1、systypes表的xtype是物理存储类型,type呢,就是物理存储数据类型

http://www.tiantiansoft.com/bbs/dispbbs.asp?BoardID=3&id=110656

2、Type是在6.0就有的,XType在7.0才出现:  

http://topic.csdn.net/t/20011129/01/393718.html

3、说到了兼容的问题,还提到另外一个人“ONLINE BOOK”的解释,可惜我没找到。

http://topic.csdn.net/t/20011130/10/396092.html#

posted @ 2009-06-10 12:55  舒白念  阅读(1908)  评论(0编辑  收藏  举报
世界,弥茫吹着夸夸其谈的风,虚伪彩色的肥皂泡漫天飞,把人基本生存必须呼吸的氧气都带走,还要人称赞它的美丽……