Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
19.02.2019, 15:20
|
|||
---|---|---|---|
|
|||
multiple different result sets from function |
|||
#18+
Всем дорого дня, Находимся в поисках перехода с 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) и т.д. У нас довольно много процедур ТАКОГО типа ... если ЭТО невозможно, то мне "вешалка" ! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2019, 15:44
|
|||
---|---|---|---|
|
|||
multiple different result sets from function |
|||
#18+
_Drive_почему то последнюю версию его-же pgAdmin не поддерживает PgAdmin4 поддерживает все версии - 9.6, 10, 11. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2019, 15:47
|
|||
---|---|---|---|
|
|||
multiple different result sets from function |
|||
#18+
_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 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2019, 16:35
|
|||
---|---|---|---|
|
|||
multiple different result sets from function |
|||
#18+
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) а меленький пример этого написания? и пример вызова? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.02.2019, 17:00
|
|||
---|---|---|---|
|
|||
multiple different result sets from function |
|||
#18+
_Drive_вариант 2) а меленький пример этого написания? и пример вызова? Возврат из pl/pgsql функции двух и более результатов запросов ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.02.2019, 10:03
|
|||
---|---|---|---|
|
|||
multiple different result sets from function |
|||
#18+
_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 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1995330]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 141ms |
0 / 0 |