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


13.6.4 ストアドプログラム内の変数

システム変数とユーザー定義変数は、ストアドプログラムのコンテキストの外部で使用できるのと同様に、ストアドプログラム内で使用できます。 さらに、ストアドプログラムは DECLARE を使用してローカル変数を定義でき、またストアドルーチン (プロシージャーおよびファンクション) は、そのルーチンとその呼び出し元の間で値を通信するパラメータを受け取るように宣言できます。

ローカル変数のスコープ、および MySQL があいまいな名前を解決する方法については、セクション13.6.4.2「ローカル変数のスコープと解決」を参照してください。

ストアドプロシージャーやストアドファンクションのパラメータまたはストアドプログラムのローカル変数に (たとえば、SET var_name = DEFAULT ステートメントを使用して) 値 DEFAULT を割り当てることは許可されません。 MySQL 8.0 では、これにより構文エラーが発生します。


関連キーワード:  ステートメント, CREATE, TABLE, 変数, DROP, サブクエリー, ローカル, FUNCTION, SLAVE, DECLARE