Спасибо, что нашли время, чтобы прочитать мой вопрос.
У меня есть простая mySQL хранимая процедура, как показано ниже, которая принимает один входной параметр и возвращает один выходной.
DELIMITER $$
CREATE PROCEDURE createOrder (in reqno varchar(20), out out_val varchar(20))
BEGIN
select custphone
into out_val
from request
where requestnum = reqno;
insert into test values (reqno, out_val );
END;
Хранимая процедура работает, когда я выполняю ее, используя следующие шаги, т. Е. Возвращает результат, если я передаю входной параметр в виде жестко закодированной строки.
call createOrder('RQ000434', @out);
select @out;
Однако она возвращает NULL, когда я передаю первую параметр в качестве переменной, установив его значение с помощью синтаксиса SET:
SET @inv = 'RQ000455';
call createOrder(@inv, @out);
select @out;
Я новичок в mySQL и не могу понять, где я ошибаюсь. Любые предложения по разрешению приветствуются! Заранее спасибо! С уважением