1. ホーム
  2. sql

システムテーブルmaster...spt_valuesの目的とその値の意味を教えてください。

2023-10-03 13:37:41

質問内容

システムテーブルmaster...spt_valuesの目的は何でしょうか?

なぜそれが提供され、どのようにそれを使用する必要がありますか?

タイプ、低い値、高い値の意味は何ですか?

更新してください。

Google検索で数千の" its uses"が出てきます。

どのように解決するのですか?

その spt_values テーブルは SQL Server のドキュメントでは言及されていませんが、Sybase の時代までさかのぼると、いくつかの 極めて最小限のドキュメント があり、このコメントに要約されています。

このメソッドがどのように使用されるかを確認するには、sp_helptextを実行し、このメソッドを参照しているシステム手続きの1つのテキストを見ます。 システムプロシージャのテキストを見てください。

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

システムのストアドプロシージャを調べ、テーブルデータそのものを調べると、テーブルがコードを可読文字列に変換するために使用されていることがよくわかります (他のことも含めて)。あるいは、上記のリンク先の Sybase のドキュメントにあるように、[...]内部のシステム値を人間が読める形式に変換するために使用されます。

また、この表は が使われることもあります。 として、MSDN ブログのコード・スニペットで使用されることもあります(正式なドキュメントでは決してありません)。しかし、説明したように は他の場所で で説明したように、独自の数値ソースを作成することは、文書化されていないシステムテーブルを使用するよりも安全で信頼できる解決策です。さらに 接続要求 を使用して、SQL Server 自身に「適切な」文書化された数値テーブルを提供することもできます。

とにかく、このテーブルは完全に文書化されていないので、少なくとも実用的な観点からは、それについて何かを知ることに大きな価値はありません。もちろん、知的好奇心は別のものです :-)