Может ли переменная содержать несколько записей в пользовательских функциях MySQL? - PullRequest
0 голосов
/ 03 августа 2010

У меня есть пользовательская функция.

В этой функции я объявил переменную типа datetime.

Я присваиваю результат запроса этой переменной. И я возвращаю это назначенное значение. Похоже

delimiter$$
drop function if exists getQEDate$$
create function getQEDate() returns datetime
begin

  declare qedate datetime;
  select date into qedate from qenddates where ....;

  return qedate;
end$$
delimiter ;

При доступе к этой функции я получаю исключение типа "возвращает больше, чем строка ..." Поэтому я думаю, что эта ошибка произошла при возврате результата. Это означает, что переменная qedate может содержать более одной строки.

Имеет ли смысл приведенный выше анализ?

1 Ответ

1 голос
/ 03 августа 2010

Вероятно, ваш запрос возвращает более 1 строки, и он не может сохранить это в переменной.Если вы ожидаете только 1 строку, вы должны проверить условие where или добавить LIMIT 1 в конец запроса в функции.

Я предполагаю, поскольку не вижу ваши данные или предложение where:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...