MySQL — ВЫБОР В пределах хранимой процедуры

#mysql #stored-procedures

#mysql #хранимые процедуры

Вопрос:

У нас есть много хранимых процедур, у которых есть OUT параметр, которому мы присваиваем значение, используя SELECT LAST_INSERTID() INTO p_AutoNumber .

После этого нам нужно выполнить другое INSERT , которое также использует значение этой переменной — однако, похоже, оно выполняется некорректно.

Выполняется ли немедленное выполнение a SELECT INTO для OUT параметра, возвращаемого из процедуры? Я не могу найти какую-либо информацию об этом в документах MySQL для SELECT INTO .

Комментарии:

1. Выберите AValue В aVariable!

2. @krishKM я знаю! Я неправильно ввел команду в поле редактирования, хотя SQL правильный.

Ответ №1:

Вы можете использовать out-параметр внутри процедуры. Просто проверьте синтаксис (и имя функции):

Использовать синтаксис:

 SELECT LAST_INSERT_ID() INTO p_AutoNumber;
  

В качестве альтернативы вы можете использовать синтаксис:

 SET p_AutoNumber = LAST_INSERTID();