Пример использования INOUT в MySQL:
Из терминала запустите mysql -u root -p
.
el@apollo:~$ mysql -u root -p
Enter password:
Перейдите в базу данных:
mysql> use yourdb;
Reading table information for completion of table and column names
Создайте переменнуюпередать в вашу хранимую процедуру с именем msg
.
mysql> select 'ricksays' into @msg;
Query OK, 1 row affected (0.00 sec)
Создать хранимую процедуру:
mysql> delimiter //
mysql> create procedure foobar (inout msg varchar(100))
-> begin
-> set msg = concat(@msg, " never gonna let you down");
-> end//
Установить разделитель обратно:
mysql> delimiter ;
Вызватьхранимая процедура, передайте переменную.
mysql> call foobar(@msg);
Query OK, 0 rows affected (0.00 sec)
Хорошо, теперь посмотрим, сработало ли это:
mysql> select @msg;
+-----------------------------------+
| @msg |
+-----------------------------------+
| ricksays never gonna let you down |
+-----------------------------------+
1 row in set (0.00 sec)
Хорошо, сработало, соединило строки.Итак, вы определили переменную msg, передали эту переменную в хранимую процедуру с именем foobar, а @msg был записан в foobar.
Что является целью параметра INOUT.Вы можете использовать это для решения проблем.