Como te dicen, hay casos que no se pueden resolver simplemente con una funcion almacenada por sus características sin recursividad..
Pero hay un problema adicional: En MySQL no existe la posibilidad de hacer funciones o procesos recursivos. No lo admite.
A pesar de eso, existe una forma de lograr algo como lo que pretendes, y sería iterando un SUBSTRING_INDEX usando LOOP o REPEAT.
Podría ser algo así, por ejemplo:
Código MySQL:
Ver original
/* VErificar que no hayan ingresado un valor vacío */
RETURN '';
/* Verificar si sólo se ingresó una palabra */
RETURN inicial;
/* Tomar siguiente incial*/
/* Quitar el segmento */
RETURN inicial;
Obviamente, esto devovlerá como iniciales todas las palabras que encuentre, sin importar si tiene una sola letra o no. Y no reconocerá otros símbolos, como "-".