este problema se puede resolver de diversas formas, pero te damos la que en nuestra opinión es la solución más completa.
Solución:
No se puede replicar. Funcionó bien para mí:
mysql> CALL my_sqrt(4, @out_value);
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @out_value;
+------------+
| @out_value |
+------------+
| 2 |
+------------+
1 row in set (0.00 sec)
Quizás debería pegar el mensaje de error completo en lugar de resumirlo.
Debe utilizar la firma correcta para el parámetro de entrada * Falta la entrada en el código siguiente.
CREATE PROCEDURE my_sqrt(IN input_number INT, OUT out_number FLOAT)
Intenté llamar a una función en la terminal en lugar de MySQL Query Browser y funciona. Entonces, parece que estoy haciendo algo mal en ese programa …
No sé qué, ya que llamé a algunos procedimientos antes con éxito (pero no había parámetros) …
Por este yo había entrado
CALL my_sqrt(4,@out_value);
SELECT @out_value;
Y resulta con un error:
Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de ‘SELECT @out_value’ en la línea 2
Curiosamente, si escribo solo:
CALL my_sqrt(4,@out_value);
El mensaje de resultado es: “Consulta cancelada”
Supongo que por ahora solo usaré terminal …