ROUTINES (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

現在のデータベースの現在のユーザーがアクセスできるストアド プロシージャと関数ごとに、1 行のデータを返します。 戻り値を記述する列は、関数にのみ適用されます。 ストアド プロシージャの場合、これらの列は NULL になります。

これらのビューから情報を取得するには、INFORMATION_SCHEMAの完全修飾名を指定します。view_name。

Note

ROUTINE_DEFINITION列には、関数またはストアド プロシージャを作成したソース ステートメントが含まれています。 これらのソース ステートメントには、復帰が埋め込まれている可能性があります。 結果をテキスト形式で表示するアプリケーションにこの列を返す場合、ROUTINE_DEFINITION結果に埋め込まれた復帰が結果セット全体の書式設定に影響する可能性があります。 ROUTINE_DEFINITION 列を選択する場合は、結果セットをグリッドで返すか、ROUTINE_DEFINITION を専用のテキスト ボックスに返すなどして、埋め込み型のキャリッジ リターンを調整する必要があります。

列名 データ型 説明
SPECIFIC_CATALOG nvarchar(128) カタログ固有の名前。 この名前は、ROUTINE_CATALOGと同じです。
SPECIFIC_SCHEMA nvarchar(128) スキーマ固有の名前。

** 重要 ** オブジェクトのスキーマを決定するためにINFORMATION_SCHEMAビューを使用しないでください。 INFORMATION_SCHEMA ビューが表すのは、オブジェクトのメタデータのサブセットのみです。 オブジェクトのスキーマを調べるための信頼できる唯一の方法は、sys.objects カタログ ビューのクエリを実行することです。
SPECIFIC_NAME nvarchar(128) カタログ固有の名前。 この名前は ROUTINE_NAME と同じです。
ROUTINE_CATALOG nvarchar(128) 関数のカタログの名前。
ROUTINE_SCHEMA nvarchar(128) 関数を含むスキーマの名前。

** 重要 ** オブジェクトのスキーマを決定するためにINFORMATION_SCHEMAビューを使用しないでください。 INFORMATION_SCHEMA ビューが表すのは、オブジェクトのメタデータのサブセットのみです。 オブジェクトのスキーマを調べるための信頼できる唯一の方法は、sys.objects カタログ ビューのクエリを実行することです。
ROUTINE_NAME nvarchar(128) 関数名。
ROUTINE_TYPE nvarchar(20) ストアド プロシージャの場合は PROCEDURE、関数の場合は FUNCTION を返します。
MODULE_CATALOG nvarchar(128) NULL。 将来利用するために予約されています。
MODULE_SCHEMA nvarchar(128) NULL。 将来利用するために予約されています。
MODULE_NAME nvarchar(128) NULL。 将来利用するために予約されています。
UDT_CATALOG nvarchar(128) NULL。 将来利用するために予約されています。
UDT_SCHEMA nvarchar(128) NULL。 将来利用するために予約されています。
UDT_NAME nvarchar(128) NULL。 将来利用するために予約されています。
DATA_TYPE nvarchar(128) 関数の戻り値のデータ型。 テーブル値関数の場合は、テーブルを返します
CHARACTER_MAXIMUM_LENGTH int 戻り値のデータ型が文字型の場合の最大文字数。

xml および大きな値の型データの場合は -1。
CHARACTER_OCTET_LENGTH int 戻り値の型が文字型の場合の最大長 (バイト単位)。

xml および大きな値の型データの場合は -1。
COLLATION_CATALOG nvarchar(128) 常に NULL が返されます。
COLLATION_SCHEMA nvarchar(128) 常に NULL が返されます。
COLLATION_NAME nvarchar(128) 戻り値の照合順序名。 非文字型の場合は NULL を返します。
CHARACTER_SET_CATALOG nvarchar(128) 常に NULL が返されます。
CHARACTER_SET_SCHEMA nvarchar(128) 常に NULL が返されます。
CHARACTER_SET_NAME nvarchar(128) 戻り値の文字セットの名前。 非文字型の場合は NULL を返します。
NUMERIC_PRECISION smallint 戻り値の数値の有効桁数。 数値以外の型の場合は NULL を返します。
NUMERIC_PRECISION_RADIX smallint 戻り値の数値の有効桁数の基数。 数値以外の型の場合は、NULL を返します。
NUMERIC_SCALE smallint 戻り値のスケール。 数値以外の型の場合は、NULL を返します。
DATETIME_PRECISION smallint 戻り値が datetimeの場合の秒の小数部の有効桁数。 その他の場合は NULL が返されます。
INTERVAL_TYPE nvarchar(30) NULL。 将来利用するために予約されています。
INTERVAL_PRECISION smallint NULL。 将来利用するために予約されています。
TYPE_UDT_CATALOG nvarchar(128) NULL。 将来利用するために予約されています。
TYPE_UDT_SCHEMA nvarchar(128) NULL。 将来利用するために予約されています。
TYPE_UDT_NAME nvarchar(128) NULL。 将来利用するために予約されています。
SCOPE_CATALOG nvarchar(128) NULL。 将来利用するために予約されています。
SCOPE_SCHEMA nvarchar(128) NULL。 将来利用するために予約されています。
SCOPE_NAME nvarchar(128) NULL。 将来利用するために予約されています。
MAXIMUM_CARDINALITY bigint NULL。 将来利用するために予約されています。
DTD_IDENTIFIER nvarchar(128) NULL。 将来利用するために予約されています。
ROUTINE_BODY nvarchar(30) Transact-SQL 関数の場合は SQL を、外部で記述された関数の場合は EXTERNAL を返します。

関数は常に SQL です。
ROUTINE_DEFINITION nvarchar(4000) 関数またはストアド プロシージャが暗号化されていない場合は、関数またはストアド プロシージャの定義テキストの最初の 4,000 文字を返します。 その他の場合は NULL が返されます。

完全な定義を確実に取得するには、sys.sql_modules カタログ ビューのOBJECT_DEFINITION関数または定義列に対してクエリ実行します。
EXTERNAL_NAME nvarchar(128) NULL。 将来利用するために予約されています。
EXTERNAL_LANGUAGE nvarchar(30) NULL。 将来利用するために予約されています。
PARAMETER_STYLE nvarchar(30) NULL。 将来利用するために予約されています。
IS_DETERMINISTIC nvarchar(10) ルーチンが決定論的な場合は YES を返します。

ルーチンが非決定的な場合は NO を返します。

ストアド プロシージャの場合は常に NO が返されます。
SQL_DATA_ACCESS nvarchar(30) 次の値のいずれか。

NONE = 関数に SQL が含まれません。

CONTAINS = 関数に SQL が含まれる可能性があります。

READS = 関数で SQL データが読み取られる可能性があります。

MODIFIES = 関数は SQL データを変更する可能性があります。

すべての関数に READS、すべてのストアド プロシージャに MODIFIES が返されます。
IS_NULL_CALL nvarchar(10) いずれかの引数が NULL の場合、ルーチンを呼び出すことができるかどうかを示します。
SQL_PATH nvarchar(128) NULL。 将来利用するために予約されています。
SCHEMA_LEVEL_ROUTINE nvarchar(10) スキーマ レベルの関数の場合は YES を返し、スキーマ レベルの関数でない場合は NO を返します。

常に YES を返します。
MAX_DYNAMIC_RESULT_SETS smallint ルーチンによって返される動的結果セットの最大数。

関数の場合は 0 が返されます。
IS_USER_DEFINED_CAST nvarchar(10) ユーザー定義キャスト関数の場合は YES を返し、ユーザー定義キャスト関数でない場合は NO を返します。

常に NO が返されます。
IS_IMPLICITLY_INVOCABLE nvarchar(10) ルーチンを暗黙的に呼び出すことができる場合は YES を返し、関数を暗黙的に呼び出すことができない場合は NO を返します。

常に NO が返されます。
CREATED datetime ルーチンが作成された時刻。
LAST_ALTERED datetime 関数が最後に変更された時刻。

参照

システム ビュー (Transact-SQL)
情報スキーマビュー (Transact-SQL)
sys.columns (Transact-SQL)
sys.objects (Transact-SQL)
sys.procedures (Transact-SQL)
sys.sql_modules (Transact-SQL)