我是SQL的新手,我只是在练习存储过程。我有这个SP应该返回乘法的乘积。相反,它返回NULL,而不会给出错误。
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `spMultiply`(IN `n1` INT, IN `n2` INT, OUT `x` INT)
BEGIN
SET @nn = @n1;
SET @mm = @n2;
SELECT @x=@nn*@mm;
END$$
DELIMITER ;
答案 0 :(得分:0)
drop PROCEDURE `spMultiply`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `spMultiply`(IN `n1` INT, IN `n2` INT, OUT `x` INT)
BEGIN
SET @nn = n1;
SET @mm = n2;
set x:=@nn*@mm;
END$$
DELIMITER ;
call spMultiply(1,2,@x);
select @x;
您可以尝试以上代码。
我在这里进行了更改
SELECT @x=@nn*@mm;
至set x:=@nn*@mm;
同时从输入变量中删除 @
。
绝对会帮助你。