説明
このビューは、V2.2.77バージョンから導入されました。
機能の概要
現在のテナントにおけるストアドプロシージャ関連情報を表示します。
フィールドの説明
| フィールド名 | タイプ | NULLを許容するか | 説明 |
|---|---|---|---|
| SPECIFIC_NAME | varchar(64) | NO | ストアドプロシージャの名前。 |
| ROUTINE_CATALOG | varchar(512) | NO | ストアドプロシージャが属するディレクトリの名前。現在このフィールドは使用されておらず、現在の値はdefです。 |
| ROUTINE_SCHEMA | varchar(64) | NO | ストアドプロシージャが属するスキーマの名前。 |
| ROUTINE_NAME | varchar(64) | NO | ストアドプロシージャ名。SPECIFIC_NAMEと同じです。 |
| ROUTINE_TYPE | varchar(9) | NO | プロシージャタイプ:
|
| DATA_TYPE | varchar(64) | NO | プロシージャがストアドファンクションの場合、戻り値のデータ型。プロシージャがストアドプロシージャの場合、この値は空です。 現在このフィールドは使用されていません。 |
| CHARACTER_maximum_LENGTH | bigint(20) | NO | ストアドファンクションの文字列戻り値の最大長。文字単位。 プロシージャがストアドプロシージャの場合、この値はNULLです。 現在このフィールドは使用されていません。 |
| CHARACTER_OCTET_LENGTH | bigint(20) | NO | ストアドファンクションの文字列戻り値の最大長。バイト単位。 プロシージャがストアドプロシージャの場合、この値はNULLです。 現在このフィールドは使用されていません。 |
| NUMERIC_PRECISION | bigint(20) unsigned | NO | ストアドファンクションの数値戻り値の数値精度。 プロシージャがストアドプロシージャの場合、この値はNULLです。 現在このフィールドは使用されていません。 |
| NUMERIC_SCALE | bigint(20) | NO | ストアドファンクションの数値戻り値の数値スケール。 プロシージャがストアドプロシージャの場合、この値はNULLです。 現在このフィールドは使用されていません。 |
| DATETIME_PRECISION | bigint(20) unsigned | NO | ストアドファンクションの日付戻り値の秒精度。 プロシージャがストアドプロシージャの場合、この値はNULLです。 現在このフィールドは使用されていません。 |
| CHARACTER_SET_NAME | varchar(64) | NO | ストアドファンクションの文字列戻り値の文字セット名。プロシージャがストアドプロシージャの場合、この値はNULLです。 現在このフィールドは使用されていません |
| COLLATION_NAME | varchar(64) | NO | ストアドファンクションの文字列戻り値の照合順序名。 プロシージャがストアドプロシージャの場合、この値はNULLです。 現在このフィールドは使用されていません。 |
| DTD_IDENTIFIER | longtext | NO | 使用されていません。プロシージャがストアドファンクションの場合、戻り値のデータ型。プロシージャがストアドプロシージャの場合、この値は空です。 DATA_TYPE 値はタイプ名のみで、他の情報はありません。一方、DTD_IDENTIFIER値にはタイプ名と精度や長さなどのその他の情報が含まれます。 |
| ROUTINE_BODY | varchar(8) | NO | プロシージャ定義に使用される言語。この値は常にSQLです。 |
| ROUTINE_definition | longtext | NO | ストアドプロシージャ定義のテキスト情報。 |
| EXTERNAL_NAME | varchar(64) | NO | この値は常にNULLです。 |
| EXTERNAL_LANGUAGE | varchar(64) | NO | ストアドプロシージャの言語。現在このフィールドは使用されていません。 |
| PARAMETER_STYLE | varchar(8) | NO | この値は常にSQLです。 |
| IS_DETERMINISTIC | varchar(3) | NO | ストアドプロシージャがDETERMINISTIC特性で定義されているかどうかによって、YESまたはNO。現在このフィールドは使用されていません。 |
| SQL_DATA_ACCESS | varchar(64) | NO | 使用されていません。ストアドプロシージャのデータアクセス特性。 |
| SQL_PATH | varchar(64) | NO | この値は常にNULLです |
| SECURITY_TYPE | varchar(7) | NO | SQLセキュリティタイプ:
|
| CREATED | datetime | YES | ストアドプロシージャの作成日時。 |
| LAST_ALTERED | datetime | YES | ストアドプロシージャの最終変更日時。プロシージャが作成されて以来変更されていない場合、この値はCREATEDと同じになります。 |
| SQL_MODE | text | NO | プロシージャの作成または変更時に有効なSQLモードであり、このモードでプロシージャを実行します。 |
| ROUTINE_COMMENT | longtext | NO | コメントテキスト |
| DEFINER | varchar(93) | NO | DEFINER句で指定されたアカウント(通常はプロシージャを作成したユーザー)。 |
| CHARACTER_SET_CLIENT | varchar(32) | NO | ストアドプロシージャの作成または変更時のシステム変数CHARACTER_SET_CLIENTのセッション値。 |
| COLLATION_CONNECTION | varchar(32) | NO | ストアドプロシージャの作成または変更時のシステム変数COLLATION_CONNECTIONのセッション値。 |
| DATABASE_COLLATION | varchar(32) | NO | ストアドプロシージャの作成または変更時のシステム変数DATABASE_COLLATIONのセッション値。 |
クエリ例
現在のテナント内のストアドプロシージャに関する情報を確認します。
obclient[test]> SELECT * FROM information_schema.ROUTINES\G
クエリ結果は次のとおりです:
*************************** 1. row ***************************
SPECIFIC_NAME: citycount
ROUTINE_CATALOG: def
ROUTINE_SCHEMA: test
ROUTINE_NAME: citycount
ROUTINE_TYPE: PROCEDURE
DATA_TYPE: NULL
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: NULL
ROUTINE_BODY: SQL
ROUTINE_DEFINITION: BEGIN
SELECT COUNT(*) INTO cities FROM city
WHERE CountryCode = country;
END
EXTERNAL_NAME: NULL
EXTERNAL_LANGUAGE: NULL
PARAMETER_STYLE: SQL
IS_DETERMINISTIC: NO
SQL_DATA_ACCESS: READS_SQL_DATA
SQL_PATH: NULL
SECURITY_TYPE: DEFINER
CREATED: 2025-05-07 14:58:18
LAST_ALTERED: 2025-05-07 14:58:18
SQL_MODE: STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER
ROUTINE_COMMENT:
DEFINER: 'root'@'%'
CHARACTER_SET_CLIENT: utf8mb4
COLLATION_CONNECTION: utf8mb4_general_ci
DATABASE_COLLATION: utf8mb4_general_ci
1 row in set