Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
помогите реализовать функция должна вернуть таблицу есть в теле некий гигатский qwerystr тип текст, туда склеивается будущий запрос типа "select ... from " как сделать RETURN что бы он сперва execute запрос qwerystr, и положил в результат как таблицу есть это: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 14:30 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Ну по поводу выполнить запрос... смотреть Dynamic SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 14:51 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Владимир СА, надо не просто выполнить запрос, а перенести данные в ретурн фунции что бы потом можно было например select * fom export.seltab(...)t where ... order by ... и тп, в общем работать как с таблицей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 14:57 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Владимир САНу по поводу выполнить запрос... смотреть Dynamic SQL А при чем тут ECPG к pl/pgsql вопросу собственно? -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 15:09 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
LegushkaВладимир СА, надо не просто выполнить запрос, а перенести данные в ретурн фунции что бы потом можно было например select * fom export.seltab(...)t where ... order by ... и тп, в общем работать как с таблицей Cм http://www.postgresql.org/docs/9.4/static/plpgsql-control-structures.html в части 40.6.1.2. RETURN NEXT and RETURN QUERY а особенно в части RETURN QUERY EXECUTE command-string [ USING expression [, ... ] ]; -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 15:11 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, и всем всем всем большое спасибо-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2015, 10:29 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Maxim, можно ли еще в функции возвращающей таблицу перечислить поля таблицы так, что бы взять список полей и типов на основе указанной таблицы? или только явно описать все колонки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 13:10 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Legushka, Если вернуть надо все поля одной таблицы, но и ничего более (например, если хранимка делает какую-нибудь хитрую фильтрацию) - то можно сказать returns setof tablename. Учесть только, что alter table этой таблицы потребует пересоздание хранимки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 13:23 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
MelkijLegushka, Если вернуть надо все поля одной таблицы, но и ничего более (например, если хранимка делает какую-нибудь хитрую фильтрацию) - то можно сказать returns setof tablename. Учесть только, что alter table этой таблицы потребует пересоздание хранимки. Не потребует. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 13:59 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Maxim BogukНе потребует. СУПЕР! как в свое время это очень надо было и не знал про этот способ-), а на вьюхи можно так же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 14:59 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
LegushkaMaxim BogukНе потребует. СУПЕР! как в свое время это очень надо было и не знал про этот способ-), а на вьюхи можно так же? Можно кажется. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 15:33 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, хм, интересно. Действительно не могу воспроизвести, returns setof нормально реагирует на изменения таблицы. А вот с returns tablename воспроизвёл: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Наверное, я как раз на эти грабли наступил, но замятовал, что не setof там был. Давно было, больше года назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 15:51 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
MelkijMaxim Boguk, хм, интересно. Действительно не могу воспроизвести, returns setof нормально реагирует на изменения таблицы. А вот с returns tablename воспроизвёл: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Наверное, я как раз на эти грабли наступил, но замятовал, что не setof там был. Давно было, больше года назад. пересоединитесь с базой и все заработает. у вас просто старая версия хранимки закеширована в процессе. Пересоздавать функцию не надо надо просто старые коннекты прибить чтобы перечитался код. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 15:57 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, спасибо, учту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 16:10 |
|
||
|
return table execute qwerystr ?
|
|||
|---|---|---|---|
|
#18+
Maxim Bogukпересоединитесь с базой и все заработает. у вас просто старая версия хранимки закеширована в процессе. Пересоздавать функцию не надо надо просто старые коннекты прибить чтобы перечитался код. -- Maxim Boguk www.postgresql-consulting.ru это старая проблема инвалидизации в пж. она, тащемто , всеобщая и глобальная, что--то там чинят, но судя по всему в консерватории всё тухло. тут можно просто перегрузить ф--ю , дабы она "перечиталась кодом" Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. то же, для сетофа: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. всё совсем плохо для иммутабностей -- кеш значений валяется судя по всему в шареде. при перезагрузке в любом сеансе он инвалидизируется, и все конкуренты имеют шансы вылететь на разрущении кеша. (оно не полезет пересчитывать, а скажет "не шмогла") причем , кажется, сие даже не зависит от коммита на перегружающей (давно было, надо перепровериться). в общем и с транзакционностью ддл и/или с инвалидизацией планов ф--й там мухи копулировали, копулируют, и копулировать будут. (про 7.х даже рассказывать лень -- там дроп индекса приводил к необходимости "перевойти") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2016, 16:35 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=1996967]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
13ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 274ms |
| total: | 423ms |

| 0 / 0 |
