MySQL 5.1 リファレンスマニュアル :: 17 ストアドプロシージャとファンクション :: 17.1 ストアドルーチンとグラントテーブル
« 17 ストアドプロシージャとファンクション

17.2 ストアドルーチン構文 »
Section Navigation      [Toggle]
  • 17 ストアドプロシージャとファンクション
  • 17.1 ストアドルーチンとグラントテーブル
  • 17.2 ストアドルーチン構文
  • 17.3 ストアドプロシージャ、ファンクション、トリガ並びにLAST_INSERT_ID()
  • 17.4 ストアドルーチンとトリガのバイナリログ

17.1. ストアドルーチンとグラントテーブル

ストアドルーチンでは、mysqデータベース中にprocテーブルが要求されます。このテーブルはMySQL 5.1をインストールしている最中に生成されます。旧バージョンのMySQLからMySQL 5.1にアップグレードする場合、ユーザのグラントテーブルが更新され、proc テーブルが存在しているか確認してください。項4.5.4. 「mysql_upgrade — MySQL アップグレードのテーブル チェック」 を参照してください。

サーバはストアドルーチンを生成、変更もしくは撤去するステートメントに対して、mysql.procテーブルを操作します。このテーブルの手動操作のサポートは、サーバに通知されません。

MySQL グラントシステムはストアドルーチンを以下の通り取り扱います。

  • ストアドルーチンを生成するため、CREATE ROUTINE特権が必要です。

  • ストアドルーチンの変更・撤去には、ALTER ROUTINE権限が必要です。必要な場合、この権限はルーチン生成者に自動的に与えられますが、生成者がルーチンを廃止すると、権限も消滅します。

  • ストアドルーチンを実行するため、EXECUTE権限が要求されます。必要な場合、この権限はルーチン生成者に自動的に与えられます。(生成者がルーチンを撤去すると、権限も消滅します)ルーチンのデフォルト設定SQL SECURITYもDEFINERです。これは、ルーチンに関連するデータベースにアクセス可能なユーザがルーチンを実行できるようにします。

  • automatic_sp_privilegesシステム変数がゼロである場合、EXECUTEおよびALTER ROUTINE権限は自動的に供与・除去されません。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates