在 MySQL 中,INOUT 参数是用于存储过程和函数的一种参数传递方式。它允许你在存储过程或函数内部修改参数的值,并将这些修改后的值返回给调用者。换句话说,INOUT 参数既可以作为输入参数,也可以作为输出参数。
当你在存储过程或函数中使用 INOUT 参数时,你需要在调用该存储过程或函数时提供一个变量,该变量将用于存储输入值和输出值。这意味着你可以在存储过程或函数内部修改这个变量的值,并在存储过程或函数执行完成后获取到这个修改后的值。
以下是一个简单的示例,展示了如何在 MySQL 存储过程中使用 INOUT 参数:
DELIMITER //
CREATE PROCEDURE AddTen(INOUT inputValue INT)
BEGIN
SET inputValue = inputValue + 10;
END //
DELIMITER ;
在这个示例中,我们创建了一个名为 AddTen
的存储过程,它接受一个名为 inputValue
的 INOUT 参数。在存储过程内部,我们将 inputValue
的值加上 10。
现在,我们可以调用这个存储过程,并传递一个变量作为参数:
SET @myVariable = 5;
CALL AddTen(@myVariable);
SELECT @myVariable; -- 结果将是 15
在这个示例中,我们首先设置了一个名为 @myVariable
的变量,并将其值设置为 5。然后,我们调用 AddTen
存储过程,并将 @myVariable
作为参数传递。在存储过程执行完成后,@myVariable
的值将被修改为 15。最后,我们使用 SELECT
语句查看 @myVariable
的值,结果将是 15。