sql >> Database teknologi >  >> RDS >> Sqlserver

Hvad er formålet med systemtabel master..spt_values, og hvad er betydningen af ​​dets værdier?

spt_values Tabellen er ikke nævnt i SQL Server-dokumentationen, men den går tilbage til Sybase-dagene, og der er ekstremt minimal dokumentation i Sybase online-dokumenter, som kan opsummeres i denne kommentar:

For at se, hvordan det bruges, skal du udføre sp_helptext og se på teksten for en af ​​de systemprocedurer, der refererer til den.

Med andre ord, læs koden og find ud af den selv.

Hvis du roder rundt i de systemlagrede procedurer og undersøger selve tabeldataene, er det ret tydeligt, at tabellen bruges til at oversætte koder til læsbare strenge (blandt andet). Eller som Sybase-dokumentationen, der er linket ovenfor, udtrykker det, "at konvertere interne systemværdier [...] til et format, der kan læses af mennesker"

Tabellen bruges også nogle gange i kodestykker i MSDN-blogs - men aldrig i formel dokumentation - normalt som en bekvem kilde til en liste over numre. Men som diskuteret andetsteds, er oprettelse af din egen kilde til tal en sikrere og mere pålidelig løsning end at bruge en udokumenteret systemtabel. Der er endda en Connect-anmodning om at levere en 'korrekt', dokumenteret taltabel i selve SQL Server.

Under alle omstændigheder er tabellen fuldstændig udokumenteret, så der er ingen væsentlig værdi i at vide noget om det, i det mindste fra et praktisk synspunkt:den næste servicepack eller opgradering kan ændre det fuldstændigt. Intellektuel nysgerrighed er selvfølgelig noget andet :-)



  1. SQLite primær nøgle

  2. Hvordan indstiller jeg det valgte element i en rullemenu

  3. Sammenkæd/flet matrixværdier under gruppering/aggregering

  4. Vælg rækker, der ikke er til stede i anden tabel