ホームページ  >  記事  >  mysql.proc とはどのようなテーブルですか?

mysql.proc とはどのようなテーブルですか?

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌オリジナル
2023-07-25 15:57:371988ブラウズ

mysql.proc は、MySQL システム データベース内のシステム テーブルであり、ストアド プロシージャと関数に関するメタデータ情報を保存するために使用されます。mysql.proc テーブルをクエリすると、ストアド プロシージャと関数の定義とパラメータ リストを取得できます。関数、戻り値、作成時間など。この情報は、データベース内のストアド プロシージャと関数を管理および保守するのに非常に役立ちます。

mysql.proc とはどのようなテーブルですか?

このチュートリアルのオペレーティング システム: Windows 10 システム、MySQL 8 バージョン、Dell G3 コンピューター。

mysql.proc は、MySQL システム データベース内のシステム テーブルで、ストアド プロシージャと関数に関するメタデータ情報を格納するために使用されます。これは、名前、パラメータ、戻り値の型、定義ステートメントなど、データベースに定義されているストアド プロシージャと関数の詳細を記録するために使用されるコア テーブルです。

mysql.proc テーブルの構造は次のとおりです。

CREATE TABLE mysql.proc (
  db char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  name char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  type enum('FUNCTION', 'PROCEDURE') COLLATE utf8_bin NOT NULL,
  specific_name char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  language enum('SQL') COLLATE utf8_bin NOT NULL DEFAULT 'SQL',
  sql_data_access enum('CONTAINS_SQL', 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA') COLLATE utf8_bin NOT NULL DEFAULT 'CONTAINS_SQL',
  is_deterministic enum('YES', 'NO') COLLATE utf8_bin NOT NULL DEFAULT 'NO',
  security_type enum('INVOKER', 'DEFINER') COLLATE utf8_bin NOT NULL DEFAULT 'DEFINER',
  param_list blob NOT NULL,
  returns longblob NOT NULL,
  body longblob NOT NULL,
  definer char(93) COLLATE utf8_bin NOT NULL DEFAULT '',
  created timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  modified timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  sql_mode set('REAL_AS_FLOAT', 'PIPES_AS_CONCAT', 'ANSI_QUOTES', 'IGNORE_SPACE', 'IGNORE_BAD_TABLE_OPTIONS', 'ONLY_FULL_GROUP_BY', 'NO_UNSIGNED_SUBTRACTION', 'NO_DIR_IN_CREATE', 'POSTGRESQL', 'ORACLE', 'MSSQL', 'DB2', 'MAXDB', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_FIELD_OPTIONS', 'MYSQL323', 'MYSQL40', 'ANSI', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'INVALID_DATES', 'ERROR_FOR_DIVISION_BY_ZERO', 'TRADITIONAL', 'NO_AUTO_CREATE_USER', 'HIGH_NOT_PRECEDENCE', 'NO_ENGINE_SUBSTITUTION', 'PAD_CHAR_TO_FULL_LENGTH') COLLATE utf8_bin NOT NULL DEFAULT '',
  comment char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  character_set_client char(32) COLLATE utf8_bin DEFAULT NULL,
  collation_connection char(32) COLLATE utf8_bin DEFAULT NULL,
  db_collation char(32) COLLATE utf8_bin DEFAULT NULL,
  body_utf8_long longblob
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Stored Procedures';

mysql.proc テーブルをクエリすることで、定義、パラメータのリスト、戻り値などの情報を取得できます。 、ストアド プロシージャと関数の作成時間。この情報は、データベース内のストアド プロシージャと関数を管理および保守するのに役立ちます。 mysql.proc テーブルの内容を直接変更することは推奨されないことに注意してください。ストアド プロシージャと関数を定義、変更、削除するには、CREATE PROCEDURE または CREATE FUNCTION ステートメントを使用する必要があります。

以上がmysql.proc とはどのようなテーブルですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。