Tienes que mirar mejor la sintaxis de los stored procedures. Estás poniendo los delimitadores en cualquier parte.
El proceso no tiene mucho sentido a menos que la estructura de las tablas fuese la misma.
¿Es así? De serlo podría andar por aquí:
Si tienen diferente estructura, no puede hacerse un UNION, pero tampoco puedes hacer un procedure que devuelva varios SELECTS. Sólo puede devolver un único resultado, tal vez algo así:
DELIMITER ;