powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как из функции вернуть 2 массива?
4 сообщений из 4, страница 1 из 1
как из функции вернуть 2 массива?
    #39832000
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вызываю из ф-и другую ф-ю вот так:
Код: sql
1.
SELECT bf1(_cid) INTO _bids, _cl_data;


а в ней отдаю их так:
Код: sql
1.
2.
_cl_data := array[_age, _emp_t, _sex, _salary_bid, _pens];
SELECT array_agg(peid) FROM tbl INTO _bids;



на что она мне возвращает такую строчку:
Код: sql
1.
2.
3.
4.
                                         bf1
-------------------------------------------------------------------------------------
 ("{2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,23,24,25,26,27,28,30,32}","{32,8,1,1,0}")
(1 строка)



и когда я пытаюсь её поместить в заранее приготовленные переменные в bf2():
Код: sql
1.
2.
_bids int[];
_cl_data int[];


получаю это:
Код: sql
1.
2.
3.
ОШИБКА:  ошибочный литерал массива: "("{2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,23,24,25,26,27,28,30,32}","{32,8,1,1,0}")"
ПОДРОБНОСТИ:  Значение массива должно начинаться с "{" или указания размерности.
КОНТЕКСТ:  функция PL/pgSQL bf2(integer,integer), строка 14, оператор SQL-оператор


позволяет помещать только в _bids text И _cl_data text...
при этом _cl_data остаётся NULL, а всё добро кладётся в _bids... (чекаю через RAISE NOTICE)
из чего я делаю вывод, что там вертается строка, а не 2 массива
так как вернуть именно 2 массива?
...
Рейтинг: 0 / 0
как из функции вернуть 2 массива?
    #39832001
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл: в bf1 они вертаются через (OUT _bids int[], OUT _cl_data int[])
...
Рейтинг: 0 / 0
как из функции вернуть 2 массива?
    #39832006
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,

Попробуйте так...
Код: sql
1.
SELECT * FROM bf1(_cid) INTO _bids, _cl_data;
...
Рейтинг: 0 / 0
как из функции вернуть 2 массива?
    #39832061
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fte, спасибо, работает
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как из функции вернуть 2 массива?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]