INFORMATION_SCHEMA PARAMETERS データ・ディクショナリ・ビューは、ストアドルーチン(ストアドプロシージャとストアド関数)のパラメータおよびストアド関数の戻り値に関する情報を提供しますが、組み込み(ローカル)関数やロード可能な関数は含まれません。
INFORMATION_SCHEMA PARAMETERS データ・ディクショナリ・ビューに含まれるフィールドは、以下の表のとおりです。
| フィールド名 | 説明 |
|---|---|
| SPECIFIC_CATALOG | パラメータを含むルーチンが属するディレクトリの名前。この値は常に def です。 |
| SPECIFIC_SCHEMA | パラメータを含むルーチンが属するスキーマ(データベース)の名前。 |
| SPECIFIC_NAME | パラメータを含むルーチンの名前。 |
| ORDINAL_POSITION | ステアリングプロシージャまたは関数のパラメータ位置を記録します。ORDINAL_POSITION の値は1、2、3などです。ストアドファンクションの場合、関数の戻り値に適用される行も必要です。戻り値を記述する行には次の特徴があります:
|
| PARAMETER_MODE | パラメータのモード。この値は IN、OUT、または INOUT です。ストアドファンクションの戻り値の場合、この値は NULL です。 |
| PARAMETER_NAME | パラメータの名前。ストアドファンクションの戻り値の場合、この値は NULL です。 |
| DATA_TYPE | パラメータのデータ型。DATA_TYPE 値はタイプ名のみで、他の情報は含まれません。DTD_IDENTIFIER 値にはデータ型名と精度や長さなどのその他の情報が含まれます。 |
| CHARACTER_MAXIMUM_LENGTH | 文字列型のパラメータの最大長(文字単位)。 |
| CHARACTER_OCTET_LENGTH | 文字列型のパラメータの最大長(バイト単位)。 |
| NUMERIC_PRECISION | 数値型のパラメータの数値精度。 |
| NUMERIC_SCALE | 数値型のパラメータの数値範囲。 |
| DATETIME_PRECISION | 日付型のパラメータの日付精度。 |
| CHARACTER_SET_NAME | 文字列型のパラメータの文字セット名。 |
| COLLATION_NAME | 文字列型のパラメータの文字照合順序。 |
| DTD_IDENTIFIER | データ型の詳細情報を記録します。DATA_TYPE 値はタイプ名のみで、他の情報は含まれません。DTD_IDENTIFIER 値にはタイプ名と精度や長さなどのその他の情報が含まれます。 |
| ROUTINE_TYPE | ストアドルーチンのタイプ。ストアドプロシージャは PROCEDURE、ストアドファンクションは FUNCTION です。 |
例:
obclient> SELECT * FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_SCHEMA='test' AND PARAMETER_NAME='c1'\G
*************************** 1. row ***************************
SPECIFIC_CATALOG: def
SPECIFIC_SCHEMA: test
SPECIFIC_NAME: my_func
ORDINAL_POSITION: 1
PARAMETER_MODE: IN
PARAMETER_NAME: c1
DATA_TYPE: char
CHARACTER_MAXIMUM_LENGTH: 20
CHARACTER_OCTET_LENGTH: 80
NUMERIC_PRECISION: NULL
NUMERIC_SCALE: NULL
DATETIME_PRECISION: NULL
CHARACTER_SET_NAME: utf8mb4
COLLATION_NAME: utf8mb4_general_ci
DTD_IDENTIFIER: char(20)
ROUTINE_TYPE: FUNCTION