|
вставка данных из произвольного запроса в таблицу
|
|||
---|---|---|---|
#18+
добрый день. есть задача вставки данных из произвольного запроса в таблицу по совпадению имен полей. в оракле решалась процедурой которая через dbms_sql.describe_columns строила инсерт с пересекающимися именами полей и выполняла. в пг dbms_sql.describe_columns отсутствует. решение 1 - create view temporary as select ... и обращение к information_schema.columns для вытаскивания имен полей запроса (через ж, но зато с типами полей) решение 2 через жсон: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
может есть более простые варианты решения задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 16:50 |
|
вставка данных из произвольного запроса в таблицу
|
|||
---|---|---|---|
#18+
Misha111, \gdesc в psql не подойдет? Начиная с 11 версии: Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 17:12 |
|
вставка данных из произвольного запроса в таблицу
|
|||
---|---|---|---|
#18+
нужно процедурное решение. я так понимаю в plpgsql или подобное это не запихнуть ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 17:16 |
|
вставка данных из произвольного запроса в таблицу
|
|||
---|---|---|---|
#18+
Misha111, В plpgsql нет, а на питончике думаю запросто можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 19:05 |
|
вставка данных из произвольного запроса в таблицу
|
|||
---|---|---|---|
#18+
Павел Лузанов В plpgsql нет, а на питончике думаю запросто можно. Хм, на счет "запросто" погорячился. В модуле plpy только у функции execute есть методы colnames, coltypes. Т.е. пока не выполнишь запрос, ничего не получишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 20:12 |
|
вставка данных из произвольного запроса в таблицу
|
|||
---|---|---|---|
#18+
Павел Лузанов, спасибо за подсказки. пока остановлюсь на первых 2х вариантах. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 15:16 |
|
вставка данных из произвольного запроса в таблицу
|
|||
---|---|---|---|
#18+
Misha111, Я заглянул в переписку, где Павел Стехуле предлагал патч \gdesc. Там он говорит, что использовал еще один прием - временное создание таблицы/представления на основе запроса, получение информации из системного каталога, удаление таблицы/представления. Но всё это элегантным не назовешь. Собственно это и есть решение 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2021, 15:29 |
|
|
start [/forum/topic.php?fid=53&fpage=12&tid=1994056]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 262ms |
total: | 374ms |
0 / 0 |