MySQL Создать функцию Сбой с ошибкой 1064

У меня есть функция на моем рабочем сервере под управлением MySQL v5.5.8, которая выполняется без проблем.

Когда я пытаюсь создать ту же функцию на моем тестовом сервере под управлением MySQL v5.5.9, происходит сбой создания с ошибкой 1064. Может кто-нибудь объяснить, почему это нормально на одном сервере, но не на другом? Почему MySQL возвращает такие расплывчатые и бесполезные сообщения, которые я никогда не узнаю!!!

Создание это:

DELIMITER $$

CREATE FUNCTION `CheckProjType` (type INT, cost BIGINT ) 
    RETURNS VARCHAR(50) 
    CHARSET latin1
    NO SQL
BEGIN
    DECLARE rtn VARCHAR(50);
    IF type = 5 THEN SET rtn = 'New Maint';
    ELSE
      IF type = 4 THEN SET rtn = 'Ongoing Maintenance';
      ELSE
        IF type = 3 THEN SET rtn = 'New Development';
        else
          IF cost > 1000000000 THEN SET rtn = 'New Expansion';
          else
            IF cost > 250000000 THEN SET rtn = 'Major Improvement';
            ELSE
              IF cost > 25000000 THEN SET rtn = 'Major Development';
              ELSE
                 SET rtn = 'Small Improvement';
              END IF;
            END IF;
          END IF;
        END IF;
      END IF;
    END IF;

  RETURN rtn;

END $$

DELIMITER ;

Вот ошибка:

ERROR 1064: You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use 
near '' at line 6

SQL Statement:

CREATE FUNCTION `CheckProjType` (type INT, cost BIGINT ) 

    RETURNS VARCHAR(50) 

    CHARSET latin1

    NO SQL

BEGIN

    DECLARE rtn VARCHAR(50)

0 ответов

Другие вопросы по тегам