
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.03.2016, 13:01
|
|||
|---|---|---|---|
|
|||
Динамический sql |
|||
|
#18+
Добрый день! Требуется выполнить запрос на стороне клиента (QPSQL) Запрос заранее неизвестен и формируется сложной логикой внутри процедуры(на стороне БД) Количество возвращаемых запросом полей известно, но типы их могут быть произвольными. Очевидно, написать функцию, которая возвр. произвольный тип нельзя. Можно конечно сделать это в 2 приема: 1.получить на клиенте текст запроса 2.выполнить его Есть ли способ сделать это в 1 прием? спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2016, 14:11
|
|||
|---|---|---|---|
Динамический sql |
|||
|
#18+
HiHunter, Использовать text-овые поля со всеми вытекающими? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2016, 15:01
|
|||
|---|---|---|---|
Динамический sql |
|||
|
#18+
HiHunterОчевидно, написать функцию, которая возвр. произвольный тип нельзя.на уровне декларации есть непроизвольные, но полиморфные псевдотипы. хотя и поддерживаются не всеми языками. HiHunterМожно конечно сделать это в 2 приема: 1.получить на клиенте текст запроса 2.выполнить его Есть ли способ сделать это в 1 прием?если следовать приведенному алгоритму буквально - вернуть открытый курсор. не понятно на чем тут принципиальная экономия. если возвращается множество строк и полей, все равно ответ в один сетевой пакет не уложится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2016, 15:33
|
|||
|---|---|---|---|
|
|||
Динамический sql |
|||
|
#18+
p2., авторОчевидно, написать функцию, которая возвр. произвольный тип нельзя. Почему это нельзя? setof record ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.03.2016, 17:19
|
|||
|---|---|---|---|
Динамический sql |
|||
|
#18+
Author the new oneавторОчевидно, написать функцию, которая возвр. произвольный тип нельзя. Почему это нельзя? setof recordдля того, чтобы вызывать функцию с "произвольным" setof record, нужно знать и указать состав и типы полей. В то время, как для "select * from таблица", клиент не обязан заранее знать ее структуру, а может разобрать поля по метаданным открытого курсора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2016, 21:11
|
|||
|---|---|---|---|
|
|||
Динамический sql |
|||
|
#18+
Ок. Спасбо за ответы! Как я понял, определился один вариант - открывать курсор на стороне клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2016, 09:41
|
|||
|---|---|---|---|
Динамический sql |
|||
|
#18+
Статья как раз про ваш случай: "Таблица как параметр в Postgresql" https://habrahabr.ru/company/postgrespro/blog/278019/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1997347]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
171ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 492ms |

| 0 / 0 |
