Here is the syntax:
CREATE [DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] Valid SQL procedure statement
proc_parameter:
[ IN | OUT | INOUT ] param_name type
characteristic:
LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
By default, the procedure is associated with the default database.
To associate explicitly with a given database, specify the name as db_name.sp_name.
The name must be followed by parentheses.
If the database is not provided, MySQL creates the procedure in the current database or gives a No database selected error.
Procedure names can be up to 64 characters long.
If you must have a procedure with the same name as a MySQL function, putting a space between the name and the parentheses will help MySQL differentiate between the two.