sql >> Database >  >> RDS >> Sqlserver

Wat is het doel van systeemtabel master..spt_values ​​en wat is de betekenis van de waarden?

De spt_values tabel wordt niet genoemd in de SQL Server-documentatie, maar het gaat terug tot de Sybase-dagen en er is een uiterst minimale documentatie in de online documenten van Sybase die kan worden samengevat in deze opmerking:

Om te zien hoe het wordt gebruikt, voert u sp_helptext uit en bekijkt u de tekst van een van de systeemprocedures die ernaar verwijst.

Met andere woorden, lees de code en werk het zelf uit.

Als je de door het systeem opgeslagen procedures doorzoekt en de tabelgegevens zelf bekijkt, is het vrij duidelijk dat de tabel wordt gebruikt om (onder andere) codes in leesbare tekenreeksen te vertalen. Of zoals de Sybase-documentatie die hierboven is gelinkt het stelt:"om interne systeemwaarden [...] om te zetten in een door mensen leesbaar formaat"

De tabel wordt soms ook gebruikt in codefragmenten in MSDN-blogs - maar nooit in formele documentatie - meestal als een handige bron van een lijst met nummers. Maar zoals elders besproken, is het creëren van uw eigen bron van nummers een veiligere en betrouwbaardere oplossing dan het gebruik van een ongedocumenteerde systeemtabel. Er is zelfs een Connect-verzoek om een ​​'juiste', gedocumenteerde getallentabel in SQL Server zelf te leveren.

Hoe dan ook, de tabel is volledig ongedocumenteerd, dus het heeft geen significante waarde om er iets over te weten, althans vanuit een praktisch oogpunt:het volgende servicepack of upgrade zou het volledig kunnen veranderen. Intellectuele nieuwsgierigheid is natuurlijk iets anders :-)



  1. SQL DELETE-syntaxis - weergegeven door DBMS

  2. Parametersnuiven, insluiten en de RECOMPILE-opties

  3. Invoegen in een MySQL-tabel of bijwerken indien aanwezig

  4. Hoe PostgreSQL op een VPS / Dedicated Server te krijgen