Following example will demonstrate MySQL stored procedure with INOUT parameter −
mysql> DELIMITER // ; mysql> Create PROCEDURE counter(INOUT count INT, IN increment INT) -> BEGIN -> SET count = count + increment; -> END // Query OK, 0 rows affected (0.03 sec)
Here, ‘count’ is the INOUT parameter, which can store and return values and ‘increment’ is the IN parameter, which accepts the values from user.
mysql> DELIMITER ; mysql> SET @counter = 0; Query OK, 0 rows affected (0.00 sec) mysql> CALL counter(@Counter, 1); Query OK, 0 rows affected (0.00 sec) mysql> Select @Counter; +----------+ | @Counter | +----------+ | 1 | +----------+ 1 row in set (0.00 sec) mysql> CALL counter(@Counter, 5); Query OK, 0 rows affected (0.00 sec) mysql> Select @Counter; +----------+ | @Counter | +----------+ | 6 | +----------+ 1 row in set (0.00 sec)