我是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 ;
最佳答案
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;
同时从输入变量中删除
@
。肯定会为您提供帮助。