Ошибка 1415: не разрешено возвращать набор результатов из функции

0
CREATE FUNCTION 'remover_acentos' (text_1 text)
RETURNS text

select 
replace(text_1,'áâãäéêëíîÏóöôõúûüÁÂÃÄÉÊËÍÎÏÓÖÔÕÚÛÜçÇ','aaaaeeeiiioooouuuAAAAEEEIIIOOOOUUUcC');

Вышеуказанная функция бросает ошибку ниже.

Error 1415: Not allowed to return a result set from a function

Почему эта ошибка возникает?

  • 2
    Пожалуйста (1) используйте английский язык (2) предоставьте полный код вашей функции (3) покажите нам, как вы ее называете, и пример данных
  • 0
    код моей функции завершен
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ

Что делает SELECT? Это вызывает ошибку. Используйте RETURN для возврата скалярного значения.

CREATE FUNCTION 'remover_acentos' (text_1 text)
RETURNS text

RETURN replace(text_1,'áâãäéêëíîÏóöôõúûüÁÂÃÄÉÊËÍÎÏÓÖÔÕÚÛÜçÇ','aaaaeeeiiioooouuuAAAAEEEIIIOOOOUUUcC');

Думаю, это не будет делать то, что вы хотите. Если вы хотите заменить какое-либо одно вхождение одного из символов, вам понадобится более одного replace() - для каждого символа, используйте его. подобно

DELIMITER $$
CREATE FUNCTION 'remover_acentos' (text_1 text)
RETURNS text
BEGIN
  SET text_1 = replace(text_1,'á','a');
  SET text_1 = replace(text_1,'à','a');
  ...
  RETURN text_1;
END;$$
DELIMITER ;
  • 0
    CREATE FUNCTION remover_acentos (текст_1 текст) ВОЗВРАЩАЕТ текст НАЧАТЬ выберите заменить (text_1, 'áâãäéêëíîÏóöôõúûüÁÂÄÄÊËÍÎÏÓÖÔÕÚÛÜçÇ', 'aaaaeeeiiioooouuuAAAAEEEIIIOOOOUUUC) ВЕРНУТЬ текст; КОНЕЦ просто так?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню