我似乎无法让存储过程在调用OUT参数时显示它。它仅显示“ 0行受影响”,不显示OUTPUT变量。 OUTPUT是已声明的变量的值。这是我的程序
CREATE DEFINER=`root`@`%` PROCEDURE `test`(IN `masterId` INT, IN `subId` INT, OUT current_balance INT)
BEGIN
declare current_balance INT;
set current_balance = 2;
END
这就是我所说的: 调用test('274','399',@res)
答案 0 :(得分:1)
您已使用局部变量覆盖了该参数。
我更喜欢为参数命名以避免冲突:
CREATE DEFINER=`root`@`%` PROCEDURE `test`(
IN in_masterId INT,
IN in_subId INT,
OUT out_current_balance INT
)
BEGIN
set out_current_balance = 2;
END;