Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Передача коллекции в функцию / 5 сообщений из 5, страница 1 из 1
16.10.2015, 11:23
    #39078400
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача коллекции в функцию
Здравствуйте.

Помогите советом в таком вопросе.

Есть PostgreSQL 9.4.
Есть некая коллекция в С# коде с полями:
Код: c#
1.
2.
ID int 
Name string


Нужно передать на вход PL/pgSQL функции всю коллекцию за один раз.
Встречал варианты когда набор всех значений передается в функцию как переменная массива:
Код: plsql
1.
CREATE OR REPLACE FUNCTION some_func(IN ids bigint[])

с последующим применением
Код: plsql
1.
SELECT unnest(ids) AS id

для получение членов массива.

Как поступить если есть два поля разного типа и такую коллекцию нужно передать на вход функции?
Заранее благодарен.
...
Рейтинг: 0 / 0
16.10.2015, 11:41
    #39078428
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача коллекции в функцию
sancoma,

Ну если "извращаться", то по полной.
Создайте в PG свой тип, список которого будет входным параметром для функции.
Остается только научиться передавать ч/з JDBC кастомные типы PG :-)
...
Рейтинг: 0 / 0
16.10.2015, 11:44
    #39078436
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача коллекции в функцию
mad_nazgul,

да вот не хотелось бы через свой тип. ну если по-другому никак...
...
Рейтинг: 0 / 0
16.10.2015, 13:05
    #39078559
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача коллекции в функцию
sancoma,

json_agg(to_json()) на стороне отправки. и json_populate_recordset() -- на приёмнике.

в вашем случае json --параметр.


И да -- отсутствие табличного типа -- неприятное ограничение (как и отсутствие передачи по ссылке).
...
Рейтинг: 0 / 0
16.10.2015, 13:18
    #39078577
sancoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача коллекции в функцию
qwwq,

спасибо попробую
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Передача коллекции в функцию / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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