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

0
DELIMITER |

CREATE FUNCTION value_economy(gnp_old float, gnp_new float)
RETURNS float
BEGIN
    DECLARE result float;
    DECLARE result1 float;

    SET result1 = (gnp_new - gnp_old) / gnp_old * 100;

    SET result = result1;

        IF(result >= 0) THEN
            SELECT CONCAT("UP");
        ELSE
            SELECT CONCAT("DOWN");
        END IF;

    RETURN result1;

END;|   

почему эта ошибка?

  • 0
    Предположительно, потому что у вас есть SELECT которые нигде не сохраняют результаты.
Теги:

1 ответ

0

В соответствии с документацией по пользовательским функциям в MySQL вы можете возвращать только значения типа {STRING|INTEGER|REAL|DECIMAL}

Если вы хотите получить выбранный набор результатов, вам нужно определить procedure но не function.

Ещё вопросы

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