系统表master..spt_values的目的是什么? 为什么提供它,以及应该如何使用它?
低,高值类型的含义是什么?
更新: Google搜索提供了成千上万的“用途”,例如:
以某种非直觉和复杂的方式获取使用对象的描述 枚举SQL Server数据库中的所有索引(Giuseppe Dimauro,devx.com)
“ SQL Server 2005脚本显示磁盘空间使用情况”
该spt_values表未在SQL Server文档中提及,但它可以追溯到Sybase时代,并且Sybase联机文档中有一些极少的文档,可以在此注释中进行总结:
spt_values
若要查看其用法,请执行sp_helptext并查看引用它的系统过程之一的文本。
换句话说,阅读代码并自己解决。
如果深入研究系统存储过程并检查表数据本身,那么很显然,该表用于将代码转换为可读的字符串(除其他外)。或如上面链接的Sybase文档所述,“将内部系统值转换为人类可读的格式”。unesdoc.unesco.org unesdoc.unesco.org
该表有时还用于MSDN博客中的代码段中,但从未用于正式文档中,通常用作数字列表的便捷来源。但是,正如在其他地方所讨论的,与使用未记录的系统表相比,创建自己的数字源是一种更安全,更可靠的解决方案。甚至有一个Connect请求,要求在SQL Server本身中提供一个“正确的”,已记录的编号表。
无论如何,该表是完全没有文档记录的,因此至少从实际的角度来看,对它的任何了解都不具有重大价值:下一个Service Pack或升级可能会完全改变它。理智的好奇心当然是另外一回事了:-)