_avz |
---|
С клиента (на delphi) требуется вызвать функцию сервера, которая возвратит 3 множества записей, разумеется с разной структурой.
|
Этого не может быть, потому что этого не может быть никогда. :-)
В plpg/sql типизация сильная.
Можно конечно извратиться, чтобы одна функция возвращала 3 разных типа, но это будет полный изврат. Так лучше не делать
_avz |
---|
В PL/pgSQL пока разбираюсь не настолько, чтобы сообразить, возможно ли вернуть их через out-параметры, да и непонятно, как с клиента-то их прочитать. Скорее всего, так нельзя...
|
Считайте что нельзя!
Так будет лучше, в т.ч. и вам.
_avz |
---|
Значит, придётся возвратить только один набор, а остальные получить отдельными вызовами. Тогда сервер должен временно сохранить эти наборы до последующих вызовов с клиента. Видимо, следует задействовать временные таблицы? Или лучше, учитывая (*), упаковать эти наборы в bytea - наборы и передать сразу..?
Какая бест-практик в моём случае? |
Бест-практик в вашем случае выбросить глупости из головы.
Делать нужно правильно!
Т.е. если вам нужно три разных результата, то нужно делать три разных запроса.