37.4. ユーザ定義プロシージャ

プロシージャは関数と似たデータベースオブジェクトです。 違いはプロシージャは値を返さず、そのため戻り型の宣言が無いことです。 関数が問い合わせやDMLコマンドの一部として呼び出されるのに対して、プロシージャは明示的にCALL文を使って呼び出されます。

本章で後述するどのようにユーザ定義関数を定義するかの説明は、CREATE PROCEDUREコマンドを代わりに使う、戻り値が無い、変動性区分などいくつかの他の仕様が該当しないという点を除き、プロシージャにも同様にあてはまります。

関数とプロシージャは、ひとまとめにルーチンとも言われます。 関数とプロシージャを区別することなしに操作できるALTER ROUTINEDROP ROUTINEなどのコマンドがあります。 しかしながら、CREATE ROUTINEコマンドは無いことに注意してください。