SQL Serverでパラメータ情報を返すカタログビューを探している場合は、選択肢があります。特に、sys.parameters
からパラメータ情報を取得できます。 、sys.system_parameters
、およびsys.all_parameters
。
ただし、これらのビューには違いがあるため、おそらくこれらのビューの1つだけを使用することをお勧めします。
各ビューの正式な定義は次のとおりです。
-
sys.parameters
- パラメータを受け入れるオブジェクトの各パラメータの行が含まれます。オブジェクトがスカラー関数の場合、戻り値を説明する単一の行もあります。その行のparameter_id値は0になります。
-
sys.system_parameters
- パラメータを持つシステムオブジェクトごとに1つの行が含まれます。
-
sys.all_parameters
- ユーザー定義またはシステムオブジェクトに属するすべてのパラメーターの和集合を表示します。
つまり、最後のビューは、前の2つのビューの結果を組み合わせたものです(システムとシステムの両方からパラメータ情報を返します ユーザー定義オブジェクト)。
例
これらのビューによって返される結果の違いを示す例を次に示します。
USE Music; SELECT COUNT(*) AS parameters FROM sys.parameters; SELECT COUNT(*) AS system_parameters FROM sys.system_parameters; SELECT COUNT(*) AS all_parameters FROM sys.all_parameters;
結果:
+--------------+ | parameters | |--------------| | 7 | +--------------+ (1 row affected) +---------------------+ | system_parameters | |---------------------| | 7442 | +---------------------+ (1 row affected) +------------------+ | all_parameters | |------------------| | 7449 | +------------------+ (1 row affected)
この場合、このデータベースにはユーザー定義オブジェクトのパラメーターは7つしかありません。残りはシステムオブジェクトからのものです。
最初の2つのクエリの結果を合計すると、sys.all_views
と同じ結果が得られます。 :
SELECT (SELECT COUNT(*) FROM sys.parameters) + (SELECT COUNT(*) FROM sys.system_parameters) AS Result;
結果:
+----------+ | Result | |----------| | 7449 | +----------+