-
弑天下
这个spt_values表在SQLServer文档中没有提到,但它可以追溯到Sybase日,并且有一些极少量文件在Sybase在线文档中,可以在下面的注释中总结如下:要查看它是如何使用的,请执行sp_Helptext并查看引用它的系统过程之一的文本。换句话说,阅读代码并自己解决。如果您仔细查看系统存储过程并检查表数据本身,很明显,该表用于将代码转换为可读字符串(除其他外)。或者,正如上面链接的Sybase文档所指出的,“将内部系统值[.]转换为人类可读的格式”。这张桌子也是有时用在MSDN博客中的代码片段中-但从未出现在正式文档中-通常是作为数字列表的一个方便的来源。但正如所讨论的其他地方,创建自己的数字源比使用无文档的系统表更安全、更可靠。甚至连接请求若要在SQLServer本身中提供“适当”的文档编号表,请执行以下操作。不管怎么说,这个表是完全没有文档的,所以了解它没有任何重要的价值,至少从实际的角度来看是这样的:下一个服务包或升级可能会完全改变它。当然,求知欲是另一回事:-)
-
慕容森
主要回答另一个问题.它的类型、低价值、高价值意味着什么?大多数类型.每个特定的查找表(如果它们是单独的)都需要名称或编号。有些类型也需要低列和高列。在Sybase中,我们有一个ErrorNumber列,所以sproc可以使用RAISERROR进行硬编码(可以随版本更改等等)。除非枚举列表对您来说是“神秘的”,否则它不是“神秘的”;它只是一个查找表(所有这些表都是按Type列区分的)。
-
潇潇雨雨
一种用法(绝对不是它的主要用法)是生成一系列数字:--Generate a series from 1 to 100SELECT
TOP 100
ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS RowNumFROM master.dbo.spt_values ORDER BY RowNum