我是MySQL的新手。
使用MySQL控制台,我在下面创建了简单的测试存储过程:
DELIMITER //
CREATE PROCEDURE incrementer (OUT principal SMALLINT, IN increment SMALLINT)
BEGIN
SET principal = principal + increment;
END //
DELIMITER ;
然后,我创建了一个用户会话变量,并尝试将其传递给过程:
SET @x = 10;
SELECT @x;
CALL incrementer(@x, 10);
SELECT @x;
第一个“ SELECT @x;”查询返回预期的10。但是,第二个而不是返回20,而是返回null。我已经一遍又一遍地检查代码,但是我无法弄清楚问题出在哪里。
我正在使用MySQL 5.7.23(如果相关)