powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / multiple different result sets from function
6 сообщений из 6, страница 1 из 1
multiple different result sets from function
    #39776220
_Drive_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем дорого дня,

Находимся в поисках перехода с Sybase SQLAnywhere на что нибудь "open source" ввиду поглощения SAP-ом Sybase :-(
Сейчас вся "система" (aptekamos.ru) работает на ASE 15.5 и SQLAnywhere 12.0 ...
Изучали H2 и MySQL .. на предмет in_memory_database, вроде работает но есть нюансы. Разные умные люди советуют переходить
на PostgreSQL, мол типа и мощно и быстро и вообще круто.
Был выбран PostgreSQL 9.6 (почему то последнюю версию его-же pgAdmin не поддерживает :-( )
Чертыхаясь и матерясь стал переводить процедуры с WatcomSQL (родной для Anywhere) на Postgree...
1. оказывается нельзя out переменные и result set одновременно :-(, ну ладно переделал все out переменные на TABLE (содержащую одну стоку)
2. пятый день ищу как определить РАЗНЫЕ resultSet у функции (процедуры) ??? что-то вроде
CREATE or replace function ampg_ret_GetMedListRetail1(
in _medIds varchar(1024),
in _medPacks varchar(1024),
in _medFirms varchar(1024),
.... )
)
returns
table(
btId integer,
btName varchar,
btUrlName varchar,
regionId integer,
orgId integer,
orgName varchar,
.... ),
table(
interId integer,
interName varchar,
interInn varchar,
drugId integer,
tradeName varchar,
medId integer),
table (
regions_id integer,
fullName varchar,
shortName)
и т.д.

У нас довольно много процедур ТАКОГО типа ... если ЭТО невозможно, то мне "вешалка" !
...
Рейтинг: 0 / 0
multiple different result sets from function
    #39776242
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Drive_почему то последнюю версию его-же pgAdmin не поддерживает

PgAdmin4 поддерживает все версии - 9.6, 10, 11.
...
Рейтинг: 0 / 0
multiple different result sets from function
    #39776244
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Drive_Всем дорого дня,

Находимся в поисках перехода с Sybase SQLAnywhere на что нибудь "open source" ввиду поглощения SAP-ом Sybase :-(
Сейчас вся "система" (aptekamos.ru) работает на ASE 15.5 и SQLAnywhere 12.0 ...
Изучали H2 и MySQL .. на предмет in_memory_database, вроде работает но есть нюансы. Разные умные люди советуют переходить
на PostgreSQL, мол типа и мощно и быстро и вообще круто.
Был выбран PostgreSQL 9.6 (почему то последнюю версию его-же pgAdmin не поддерживает :-( )
Чертыхаясь и матерясь стал переводить процедуры с WatcomSQL (родной для Anywhere) на Postgree...
1. оказывается нельзя out переменные и result set одновременно :-(, ну ладно переделал все out переменные на TABLE (содержащую одну стоку)
2. пятый день ищу как определить РАЗНЫЕ resultSet у функции (процедуры) ??? что-то вроде
CREATE or replace function ampg_ret_GetMedListRetail1(
in _medIds varchar(1024),
in _medPacks varchar(1024),
in _medFirms varchar(1024),
.... )
)
returns
table(
btId integer,
btName varchar,
btUrlName varchar,
regionId integer,
orgId integer,
orgName varchar,
.... ),
table(
interId integer,
interName varchar,
interInn varchar,
drugId integer,
tradeName varchar,
medId integer),
table (
regions_id integer,
fullName varchar,
shortName)
и т.д.

У нас довольно много процедур ТАКОГО типа ... если ЭТО невозможно, то мне "вешалка" !

Нельзя такое... оно и в Oracle нельзя... как вы себе представляете Join с результатом такой функции например делать?

Возможные workarounds:
1)вернуть несколько массивов json вместо таблиц
2)вернуть соответствующее количество курсоров и из них читать

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
multiple different result sets from function
    #39776292
_Drive_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim BogukНельзя такое... оно и в Oracle нельзя... как вы себе представляете Join с результатом такой функции например делать?
лучшая поддержка PostgreSQL: dataegret.ru
А нам и не надо ничего делать с этим набором resultSet-ов - только его "красиво" показать. Вот пример страницы ...
https://aptekamos.ru/tovary/lekarstva/interferon-alfa-2b-8619/grippferon-kapli-10000me-ml-10ml-19827/ceni
Это результат работы ОДНОЙ хранимой процедуры,у которой 6 различных result set

Maxim BogukВозможные workarounds:
1)вернуть несколько массивов json вместо таблиц
2)вернуть соответствующее количество курсоров и из них читать

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

Правильно ли я понял
вариант 1) это без result set но вместо них out parametr json ?
вариант 2) а меленький пример этого написания? и пример вызова?
...
Рейтинг: 0 / 0
multiple different result sets from function
    #39776319
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Drive_вариант 2) а меленький пример этого написания? и пример вызова?
Возврат из pl/pgsql функции двух и более результатов запросов
...
Рейтинг: 0 / 0
multiple different result sets from function
    #39776591
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Drive_Maxim BogukНельзя такое... оно и в Oracle нельзя... как вы себе представляете Join с результатом такой функции например делать?
лучшая поддержка PostgreSQL: dataegret.ru
А нам и не надо ничего делать с этим набором resultSet-ов - только его "красиво" показать. Вот пример страницы ...
https://aptekamos.ru/tovary/lekarstva/interferon-alfa-2b-8619/grippferon-kapli-10000me-ml-10ml-19827/ceni
Это результат работы ОДНОЙ хранимой процедуры,у которой 6 различных result set

Maxim BogukВозможные workarounds:
1)вернуть несколько массивов json вместо таблиц
2)вернуть соответствующее количество курсоров и из них читать

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

Правильно ли я понял
вариант 1) это без result set но вместо них out parametr json ?
вариант 2) а меленький пример этого написания? и пример вызова?

1)по выбору... я бы делал N выходных парамертров типа JSON[] (массив json) по количеству возвращаемых таблиц.
ну или готовый к подачи входа в шаблонизатор готовый JSON Один отдавал (если он не слишком большой конечно).

2) - вам уже рассказали как

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / multiple different result sets from function
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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