我有一个来自此(google book)的mysql存储过程,一个例子是这样的:
DELIMITER $$ DROP PROCEDURE IF EXISTS my_sqrt$$ CREATE PROCEDURE my_sqrt(input_number INT, OUT out_number FLOAT) BEGIN SET out_number=SQRT(input_number); END$$ DELIMITER ;
该程序编译正常。(我在ubuntu中使用MySQL查询浏览器)。
但是,当我调用该过程时:
CALL my_sqrt(4,@out_value);
(也在查询浏览器中)
它返回一个错误:
(1064) check the manual that correspond to the...
为什么这个例子不起作用?
无法复制。对我来说效果很好:
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)
也许您应该粘贴整个错误消息,而不是对其进行汇总。