El PL/SQL no está estandarizado. Lo que se usa en un DBMS (Oracle, por ejemplo), no sirve para los demás. No son portables.
Como te dije, ese modo de escribirlo
no sirve en MySQL. Y ya te di un ejemplo de cómo usarla. Por lo visto ni lo miraste.
Yo te sugeriría que la SF la pruebes mas o menos parecida a esto:
Dime qué resultado te da (no tengo tu base para probarla).