Mira, con la query que te indiqué, tu stored function se reduce a esto:
Código MySQL:
Ver original
datos dt1
datos dt2
ON dt1.salida_num
= dt2.salida_num
+ 1;
RETURN resultado;
Luego, la ejecución es simplemente:
Código MySQL:
Ver originalmysql
> SELECT dias_sin
() dias_sin
;+----------+
| dias_sin |
+----------+
| 143 |
+----------+
¿Se va entendiendo?
Todo lo que codificaste, debido a que estás pensando como programador de aplicaciones, no es correcto para obtener un resultado en SQL. Las soluciones de programacion no sirven usualmente en BBDD.