ROUTINES
テーブルは、ストアドルーチン (ストアドプロシージャーとストアドファンクション) に関する情報を提供します。 ROUTINES
テーブルには、組込み SQL 関数またはユーザー定義関数 (UDF) は含まれていません。
ROUTINES
テーブルには、次のカラムがあります:
-
SPECIFIC_NAME
ルーチンの名前。
-
ROUTINE_CATALOG
ルーチンが属するカタログの名前。 この値は常に
def
です。 -
ROUTINE_SCHEMA
ルーチンが属するスキーマ (データベース) の名前。
-
ROUTINE_NAME
ルーチンの名前。
-
ROUTINE_TYPE
ストアドプロシージャ用の
PROCEDURE
、ストアドファンクション用のFUNCTION
。 -
DATA_TYPE
ルーチンがストアドファンクションの場合、戻り値のデータ型。 ルーチンがストアドプロシージャーの場合、この値は空です。
DATA_TYPE
値はタイプ名のみで、他の情報はありません。DTD_IDENTIFIER
値には、型名と、精度や長さなどのその他の情報が含まれます。 -
CHARACTER_MAXIMUM_LENGTH
ストアドファンクション文字列の戻り値の場合、最大長 (文字数)。 ルーチンがストアドプロシージャの場合、この値は
NULL
です。 -
CHARACTER_OCTET_LENGTH
ストアドファンクション文字列の戻り値の最大長 (バイト単位)。 ルーチンがストアドプロシージャの場合、この値は
NULL
です。 -
NUMERIC_PRECISION
ストアドファンクションの数値の戻り値の場合は、数値精度。 ルーチンがストアドプロシージャの場合、この値は
NULL
です。 -
NUMERIC_SCALE
ストアドファンクションの数値の戻り値の場合は、数値スケール。 ルーチンがストアドプロシージャの場合、この値は
NULL
です。 -
DATETIME_PRECISION
ストアドファンクションの時間的戻り値の場合は、小数秒精度。 ルーチンがストアドプロシージャの場合、この値は
NULL
です。 -
CHARACTER_SET_NAME
ストアドファンクションの文字列戻り値の場合は、文字セット名。 ルーチンがストアドプロシージャの場合、この値は
NULL
です。 -
COLLATION_NAME
ストアドファンクションの文字列の戻り値の場合、照合名。 ルーチンがストアドプロシージャの場合、この値は
NULL
です。 -
DTD_IDENTIFIER
ルーチンがストアドファンクションの場合、戻り値のデータ型。 ルーチンがストアドプロシージャーの場合、この値は空です。
DATA_TYPE
値はタイプ名のみで、他の情報はありません。DTD_IDENTIFIER
値には、型名と、精度や長さなどのその他の情報が含まれます。 -
ROUTINE_BODY
ルーチン定義に使用される言語。 この値は常に
SQL
です。 -
ROUTINE_DEFINITION
ルーチンによって実行される SQL ステートメントのテキスト。
-
EXTERNAL_NAME
この値は常に
NULL
です。 -
EXTERNAL_LANGUAGE
ストアドルーチンの言語。 この値は、
mysql.routines
データディクショナリテーブルのexternal_language
カラムから読み取られます。 -
PARAMETER_STYLE
この値は常に
SQL
です。 -
IS_DETERMINISTIC
ルーチンが
DETERMINISTIC
特性で定義されているかどうかに応じて、YES
またはNO
。 -
SQL_DATA_ACCESS
ルーチンのデータアクセス特性。 値は、
CONTAINS SQL
,NO SQL
,READS SQL DATA
またはMODIFIES SQL DATA
のいずれかです。 -
SQL_PATH
この値は常に
NULL
です。 -
SECURITY_TYPE
ルーチンの
SQL SECURITY
特性。 値は、DEFINER
またはINVOKER
のいずれかです。 -
CREATED
ルーチンが作成された日時。 これは
TIMESTAMP
値です。 -
LAST_ALTERED
ルーチンが最後に変更された日時。 これは
TIMESTAMP
値です。 ルーチンが作成されてから変更されていない場合、この値はCREATED
値と同じです。 -
SQL_MODE
ルーチンが作成または変更され、そのルーチンが実行されたときに有効な SQL モード。 指定可能な値については、セクション5.1.11「サーバー SQL モード」を参照してください。
-
ROUTINE_COMMENT
コメントのテキスト (ルーチンにコメントがある場合)。 そうでない場合、この値は空です。
-
DEFINER
'
形式のuser_name
'@'host_name
'DEFINER
句で指定されたアカウント (多くの場合、ルーチンを作成したユーザー)。 -
CHARACTER_SET_CLIENT
ルーチン作成時の
character_set_client
システム変数のセッション値。 -
COLLATION_CONNECTION
ルーチン作成時の
collation_connection
システム変数のセッション値。 -
DATABASE_COLLATION
ルーチンが関連付けられているデータベースの照合。
メモ
ルーチンに関する情報を表示するには、ルーチン
DEFINER
として指定されたユーザー、SHOW_ROUTINE
権限、グローバルレベルでのSELECT
権限、またはルーチンを含むスコープで付与されたCREATE ROUTINE
、ALTER ROUTINE
またはEXECUTE
権限を持っている必要があります。CREATE ROUTINE
、ALTER ROUTINE
またはEXECUTE
のみがある場合、ROUTINE_DEFINITION
カラムはNULL
です。ストアドファンクションの戻り値に関する情報は、
PARAMETERS
テーブルにもあります。 ストアドファンクションの戻り値の行は、ORDINAL_POSITION
値が 0 の行として識別できます。