Всем доброго дня.
Реализовал простейшие функции возвращающие несколько OUT параметров - то есть RECORD
Функция работает, при запуске ведет себя адекватно. Но стоит мне обратится к ней из сторонней функции:
DECLARE rec1 RECORD; BEGIN rec1:=func1(arg1,arg2); END;
Мистика в том, что вчера такой подход работал, хотя конечно, не отрицаю что я где нибудь накосячил в параметрах либо сервера, либо ems, что возникли такие ошибки
WinXP, Postgres 8.3, SQL Manager for PostgreSQL
Может так
Может так попробовать
Не повлияло.Отладчик выдает
Не повлияло.
Отладчик выдает ошибку, и выделяет синеньким выделением именно таким образом (ровно как и в первом случае):
DECLARE
rec1 RECORD;
BEGIN
rec1=func1(arg1,arg2);
END;
Новая инфа. Попробовал EMS
Новая инфа. Попробовал EMS PostgreSQL Manager 2,
та же функция не выполняется, и выдает ошибку:
что это означает, кто знает?
когда пробую выполнить отладку - тот же Syntax error
тогда вместо
тогда вместо
rec1=func1(arg1,arg2);
попробуйтеSELECT outParam1....n FROM func1(arg1,arg2) INTO var1.....n;
ошибка говорит о том, что при использовани массивов, он должен быть заключен в фигурные скобки