A procedure is a database object similar to a function. The difference is that a procedure does not return a value, so there is no return type declaration. While a function is called as part of a query or DML command, a procedure is called explicitly using the CALL statement.
The explanations on how to define user-defined functions in the rest of this chapter apply to procedures as well, except that the CREATE PROCEDURE command is used instead, there is no return type, and some other features such as strictness don't apply.
Collectively, functions and procedures are also known
as routines.
There are commands such as ALTER ROUTINE
and DROP ROUTINE that can operate on functions and
procedures without having to know which kind it is. Note, however, that
there is no CREATE ROUTINE
command.