sql >> データベース >  >> RDS >> Sqlserver

システムテーブルmaster..spt_valuesの目的は何ですか?また、その値の意味は何ですか?

    spt_values 表はSQLServerのドキュメントには記載されていませんが、Sybaseの時代にさかのぼり、Sybaseのオンラインドキュメントには非常に最小限のドキュメントがあり、このコメントにまとめることができます。

    使用方法を確認するには、sp_helptextを実行し、それを参照するシステムプロシージャの1つのテキストを確認します。

    言い換えれば、コードを読んで自分で解決してください。

    システムのストアドプロシージャを調べてテーブルデータ自体を調べると、テーブルがコードを読み取り可能な文字列に変換するために使用されていることは明らかです(とりわけ)。または、上記のリンク先のSybaseのドキュメントに記載されているように、「内部システム値を人間が読める形式に変換する」

    この表は、MSDNブログのコードスニペットでも使用されることがありますが、正式なドキュメントでは使用されません。通常、数値リストの便利なソースとして使用されます。ただし、他の場所で説明されているように、独自の数値ソースを作成することは、文書化されていないシステムテーブルを使用するよりも安全で信頼性の高いソリューションです。 SQLServer自体に「適切な」文書化された数値テーブルを提供するためのConnect要求もあります。

    とにかく、テーブルは完全に文書化されていないので、少なくとも実用的な観点からは、テーブルについて何も知ることに大きな価値はありません。次のサービスパックまたはアップグレードによって完全に変更される可能性があります。もちろん、知的好奇心は別のものです:-)



    1. postgreql関数の実行中にトランザクションをコミットする

    2. MySQLで主キーのインデックスが自動的に作成されますか?

    3. スキーマパターン検索

    4. Oracle:数値のみの行を返すSQLクエリ