@er12

Как правильно вернуть массив в функции PostgreSql?

у меня есть функция
CREATE OR REPLACE FUNCTION disp.t(x integer,e character varying) RETURNS  integer []  AS
$$
    DECLARE        
        service_id_actual integer [];

    BEGIN       
            ...
                            if xage=x then service_id_actual:=array_append(service_id_actual, service_id_model_age::json->'f1'); end if;
                        
			return service_id_actual; 
        ...
        EXCEPTION WHEN others THEN
	return false;
END;
$$
LANGUAGE plpgsql VOLATILE
  COST 100;

При ее вызове у меня происходит ошибка
ОШИБКА: значение массива должно начинаться с "{" или указания размерности
CONTEXT: функция PL/pgSQL disp.t(integer,character varying), при приведении возвращаемого значения к типу результата функции
********** Ошибка **********

Подскажите в чем ошибка , пожалуйста
  • Вопрос задан
  • 1424 просмотра
Пригласить эксперта
Ответы на вопрос 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
крайне странный выбор тегов для вопроса.... при чем здесь MSSQL и MySQL?
по делу - как вызываете функцию?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы