首页 > 解决方案 > MySQL返回值,但变量为空

问题描述

我有这个存储过程:

DROP PROCEDURE IF EXISTS rankvolume $$
CREATE PROCEDURE `rankvolume`(IN theranking INT, OUT thectr INT)
BEGIN
  SELECT organic from ctrs where ranking = theranking;
END $$
DELIMITER;

我这样称呼它:

CALL rankvolume(2,@foo)

它返回 0.125,这是正确的。耶!

SELECT @foo

返回 NULL。

嘘。

我试过重命名所有变量。我仔细检查了我没有重用任何变量名。

我错过了什么?

标签: mysql

解决方案


你需要添加一个值thectr

DELIMITER $$
DROP PROCEDURE IF EXISTS rankvolume $$
CREATE PROCEDURE `rankvolume`(IN theranking INT, OUT thectr INT)
BEGIN
  SELECT organic INTO  thectr  from ctrs where ranking = theranking;
END $$
DELIMITER ;

db<>在这里摆弄


推荐阅读