ROUTINES (Transact-SQL)

更新 : 2007 年 9 月 15 日

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

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

ms188757.note(ja-jp,SQL.90).gifメモ :
ROUTINE_DEFINITION 列には、関数またはストアド プロシージャを作成したソース ステートメントが格納されます。ソース ステートメントには、埋め込み型のキャリッジ リターンが含まれる場合があります。結果をテキスト形式で表示するアプリケーションにこの列を返す場合、ROUTINE_DEFINITION 結果に埋め込まれているキャリッジ リターンによって、結果セット全体の書式に影響が生じる可能性があります。ROUTINE_DEFINITION 列を選択する場合は、結果セットをグリッドで返すか、ROUTINE_DEFINITION を専用のテキスト ボックスに返すなどして、埋め込み型のキャリッジ リターンを調整する必要があります。
列名 データ型 説明

SPECIFIC_CATALOG

nvarchar(128)

カタログの固有の名前。この名前は ROUTINE_CATALOG と同じです。

SPECIFIC_SCHEMA

nvarchar(128)

スキーマの固有の名前。

SPECIFIC_NAME

nvarchar(128)

カタログの固有の名前。この名前は ROUTINE_NAME と同じです。

ROUTINE_CATALOG

nvarchar(128)

関数のカタログの名前。

ROUTINE_SCHEMA

nvarchar(128)

関数を含むスキーマの名前。

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)

関数の戻り値のデータ型。テーブル値関数の場合は table が返されます。

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 が返されます。

完全な定義を取得できるようにするには、OBJECT_DEFINITION 関数または sys.sql_modules カタログ ビューの 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)

その他の技術情報

SQL Server システム カタログに対するクエリ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2007 年 9 月 15 日

変更内容 :
  • ROUTINE_DEFINITION 列の定義を修正しました。