sql >> Databáze >  >> RDS >> Sqlserver

K čemu slouží system table master..spt_values ​​a jaký význam mají jeho hodnoty?

spt_values tabulka není zmíněna v dokumentaci k SQL Serveru, ale sahá až do dob Sybase a v online dokumentech Sybase je nějaká extrémně minimální dokumentace, kterou lze shrnout v tomto komentáři:

Chcete-li zjistit, jak se používá, spusťte sp_helptext a podívejte se na text jedné ze systémových procedur, která na něj odkazuje.

Jinými slovy, přečtěte si kód a vypracujte jej sami.

Pokud se prohrabete v systémových uložených procedurách a prozkoumáte samotná data tabulky, je celkem jasné, že tabulka slouží k překladu kódů do čitelných řetězců (mimo jiné). Nebo, jak uvádí výše uvedená dokumentace Sybase, "převést vnitřní systémové hodnoty [...] do formátu čitelného pro člověka"

Tabulka se také někdy používá ve úryvcích kódu na blozích MSDN – ale nikdy ve formální dokumentaci – obvykle jako vhodný zdroj seznamu čísel. Ale jak bylo diskutováno jinde, vytvoření vlastního zdroje čísel je bezpečnější a spolehlivější řešení než použití nezdokumentované systémové tabulky. Existuje dokonce požadavek Connect na poskytnutí „správné“ zdokumentované číselné tabulky v samotném SQL Serveru.

Tabulka je každopádně zcela nezdokumentovaná, takže nemá cenu o ní něco vědět, alespoň z praktického hlediska:příští servicepack nebo upgrade to může úplně změnit. Intelektuální zvědavost je samozřejmě něco jiného :-)



  1. Jak otestovat uloženou proceduru Oracle s návratovým typem RefCursor?

  2. Jak monitorovat PostgreSQL běžící uvnitř kontejneru Docker:Část druhá

  3. VLOŽTE ... NA DUPLIKÁTNÍ KLÍČ (nedělat nic)

  4. Microsoft OLE DB Undeprecated! Ať žije ADO!