La forma como crear procedimientos almacenados en mysql es la siguiente:
Código PHP:
delimiter && /*Cambiamos el delimitador*/
create procedure insertar(codigo smallint, nombre varchar(60), direccion varchar(60) )
begin
Instruccion1;
Instruccion2;
Instruccion3;
Instruccion4;
end &&
El delimitador se tiene que cambiar por que ";" es por defecto el delimitador que indica fin de una instruccion y si tendriamos mas procedimientos almacenados la ejecución terminaria solo en el primer procedimiento.
Adicionalmente podemos agregar el siguiente codigo antes de "create procedure" :
Código PHP:
drop procedure if exists insertar &&
Esto lo hacemos para no estar borrando manualmente el procedimiento cada ves que queramos compilar el procedimiento almacenado.