|
Как на pl/pgsql сформировать строку, а потом выполнить?
|
|||
---|---|---|---|
#18+
Не запрос, а например присвоение: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Помогите, если кто знает, плиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2017, 18:05 |
|
Как на pl/pgsql сформировать строку, а потом выполнить?
|
|||
---|---|---|---|
#18+
an2kНе запрос, а например присвоение: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Помогите, если кто знает, плиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2017, 19:26 |
|
Как на pl/pgsql сформировать строку, а потом выполнить?
|
|||
---|---|---|---|
#18+
qwwq, Спасибо, но только Вы поправили запрос в секции FOR, а это не столь важно. Вопрос был именно по секции LOOP: как сформировать конструкцию _rec._field_nam где: _rec - запись, которую вернул запрос в секции FOR _field_nam - переменная, в которой хранится имя поля Сейчас эта конструкция не работает - вместо переменной на этом месте должно быть ЗНАЧЕНИЕ, т.е. само имя поля. Конструкция _rec.fld_test точно будет работать, потому что fld_test - это настоящее название поля, но как этого добиться я не знаю, потому и прошу помощи у знающих людей. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2017, 19:56 |
|
Как на pl/pgsql сформировать строку, а потом выполнить?
|
|||
---|---|---|---|
#18+
an2k, того, чего вы, как мне видится, хотите -- нужно избегать. или пользоваться заранее типизированными рекордами. или терять тип поля, используя скажем hstore (or json) Код: 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. 43. 44.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2017, 22:45 |
|
Как на pl/pgsql сформировать строку, а потом выполнить?
|
|||
---|---|---|---|
#18+
А что мешает написать алиас ? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2017, 20:28 |
|
Как на pl/pgsql сформировать строку, а потом выполнить?
|
|||
---|---|---|---|
#18+
JackvoronА что мешает написать алиас ? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
абычна то, что ССЗБ-ном абычна ставится перед собой задача обращения к наперед неизвестной коллекции полей по их наперед не известным именам. вам придется настрогать конструкцию с прошитыми наперед неизвестным количеством алиасов, и чтобы она не ломалась, если во входном массиве строк--имен полей, окажется больше или меньше жестко зашитых вами в скл. в общем -- неблагодарная штука типа обобщенного тригерра , перебирающего коллекцию заранее неизвестных полей , неизвестных числом. а то, что плпгскл не полноценный язык программирования, а единственно -- херовина по конструированию скл--конструкций, доходит не сразу. там еще где--то в самом скл недоработки были, когда уместно было бы расширить применимость конструкции {row_constructor} AS rec (field type[,field type[,...]), когда заранее знаешь конструкцию своего рекорда (и пусть падает при исполнении, если не попали), а не утыкаться в незарегистрированный тип. ну и прочее. хотя с популяцией джейсонов оно вроде бы получше стало ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2017, 22:43 |
|
|
start [/forum/topic.php?fid=53&fpage=67&tid=1996269]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 295ms |
total: | 413ms |
0 / 0 |