|
SQL 変数ステートメントを使用して、ステートメント間で内部的に値を格納することができます。SQL 変数ステートメントには、以下のステートメントがあります。
これらのステートメントはストアド プロシージャ内で使用できます。
ストアド プロシージャ内で定義する SQL 変数は、プロシージャ所有の変数です。その適用範囲は、SQL 変数が定義されるプロシージャです。したがって、そのプロシージャ内でしかその変数を参照できません。プロシージャが別のプロシージャを呼び出す場合、呼び出し側プロシージャのプロシージャ所有の変数は被呼び出し側プロシージャで直接使用できません。その代わり、その変数をパラメーターで渡す必要があります。同じストアド プロシージャでプロシージャ所有の変数を 2 回以上宣言することはできません。
ストアド プロシージャの本体が複合ステートメントの場合、そのプロシージャで宣言された SQL 変数名は、そのプロシージャのパラメーター リスト内のパラメーター名と同じにすることはできません。複合ステートメントの詳細については、複合ステートメントを参照してください。
代入ステートメントは、SQL 変数の値を初期化または変更します。値の式は、定数、演算子、この SQL 変数またはほかの SQL 変数に関連する計算された式とすることができます。
値の式は、SELECT ステートメントとすることもできます。
このステートメントの構文の詳細については、『SQL Engine Reference』で、SET を参照してください。
|