MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  INFORMATION_SCHEMA テーブル  /  INFORMATION_SCHEMA ROUTINES テーブル

26.30 INFORMATION_SCHEMA ROUTINES テーブル

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 ROUTINEALTER ROUTINE または EXECUTE 権限を持っている必要があります。 CREATE ROUTINEALTER ROUTINE または EXECUTE のみがある場合、ROUTINE_DEFINITION カラムは NULL です。

  • ストアドファンクションの戻り値に関する情報は、PARAMETERS テーブルにもあります。 ストアドファンクションの戻り値の行は、ORDINAL_POSITION 値が 0 の行として識別できます。


関連キーワード:  テーブル, SCHEMA, INFORMATION, INNODB, ルーチン, ROUTINE, ストアドファンクション, 情報, TABLE, CHARACTER