sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cuál es el propósito de system table master..spt_values ​​y cuáles son los significados de sus valores?

Los spt_values table no se menciona en la documentación de SQL Server, pero se remonta a los días de Sybase y hay una documentación extremadamente mínima en los documentos en línea de Sybase que se pueden resumir en este comentario:

Para ver cómo se usa, ejecute sp_helptext y observe el texto de uno de los procedimientos del sistema que hace referencia a él.

En otras palabras, lea el código y descúbralo usted mismo.

Si hurga en los procedimientos almacenados del sistema y examina los datos de la tabla, está bastante claro que la tabla se usa para traducir códigos en cadenas legibles (entre otras cosas). O como dice la documentación de Sybase vinculada anteriormente, "para convertir los valores internos del sistema [...] en un formato legible por humanos"

La tabla también se usa a veces en fragmentos de código en blogs de MSDN, pero nunca en documentación formal, generalmente como una fuente conveniente de una lista de números. Pero como se discutió en otra parte, crear su propia fuente de números es una solución más segura y confiable que usar una tabla de sistema no documentada. Incluso hay una solicitud de conexión para proporcionar una tabla de números documentada "adecuada" en el propio SQL Server.

De todos modos, la tabla no está documentada en absoluto, por lo que no tiene un valor significativo saber nada al respecto, al menos desde un punto de vista práctico:el próximo paquete de servicio o actualización podría cambiarla por completo. La curiosidad intelectual es otra cosa, por supuesto :-)