Не удается создать хранимую процедуру Informix с помощью команды ISQL?

У меня проблемы с созданием этой хранимой процедуры в IBM Informix Dynamic Server версии 10.00.FC9 (см. Ответ Джонатана Леффлера на этот постВот) с помощью команды isql из Informix SQL.

Я получаю ошибку на( символ для каждого из его двух примеров рядомRETURNING CHAR(8)

ех. 1:

CREATE PROCEDURE ampm_time(tm SMALLINT) RETURNING CHAR(8);
    DEFINE hh SMALLINT;
    DEFINE mm SMALLINT;
    DEFINE am SMALLINT;
    DEFINE m3 CHAR(3);
    DEFINE a3 CHAR(3);
    LET hh = MOD(tm / 100 + 11, 12) + 1;
    LET mm = MOD(tm, 100) + 100;
    LET am = MOD(tm / 1200, 2);
    LET m3 = mm;
    IF am = 0
    THEN LET a3 = ' am';
    ELSE LET a3 = ' pm';
    END IF;
    RETURN (hh || ':' || m3[2,3] || a3);
END PROCEDURE;

ех. 2:

CREATE PROCEDURE ampm_time(tm SMALLINT) RETURNING CHAR(8);
    DEFINE i2 SMALLINT;
    DEFINE hh SMALLINT;
    DEFINE mm SMALLINT;
    DEFINE am SMALLINT;
    DEFINE m3 CHAR(3);
    DEFINE a3 CHAR(3);
    LET i2 = tm / 100;
    LET hh = MOD(i2 + 11, 12) + 1;
    LET mm = MOD(tm, 100) + 100;
    LET i2 = tm / 1200;
    LET am = MOD(i2, 2);
    LET m3 = mm;
    IF am = 0
    THEN LET a3 = ' am';
    ELSE LET a3 = ' pm';
    END IF;
    RETURN (hh || ':' || m3[2,3] || a3);
END PROCEDURE;

Они были разработаны Джонатаном Леффлером (Inordix Magician extraordinaire), чтобы решить вопрос, который я задал в связанном посте. Предполагаемое возвращение - преобразовать тип данных INT, содержащий военное время, в формат типа 14:30.

Ответы на вопрос(1)

Ваш ответ на вопрос