Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Возможно ли преобразовать значение типа record в массив text[]? Если можно, то как? Если нельзя, почему? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 12:40 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Алексей КолосовВозможно ли преобразовать значение типа record в массив text[]? Если можно, то как? Если нельзя, почему? :) Упростим задачу: функция возвращает значение типа record. Условия: известно количество возвращаемых полей, имена полей присутствуют в качестве массива text[]. Цель: перебрать последовательно все поля возвращённой записи по порядку и получить значения полей. Как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 17:16 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Алексей Колосов Алексей КолосовВозможно ли преобразовать значение типа record в массив text[]? Если можно, то как? Если нельзя, почему? :) Упростим задачу: функция возвращает значение типа record. Условия: известно количество возвращаемых полей, имена полей присутствуют в качестве массива text[]. Цель: перебрать последовательно все поля возвращённой записи по порядку и получить значения полей. Как? Смотря на чем писать собираешься. PlPerl и C - пожалста, а PlPgSql - низзя. (вроде). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 05:54 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Kruchinin PahanСмотря на чем писать собираешься. PlPerl и C - пожалста, а PlPgSql - низзя. (вроде). а нет ли примера на plperl? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 06:33 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Алексей Колосов Алексей КолосовВозможно ли преобразовать значение типа record в массив text[]? Если можно, то как? Если нельзя, почему? :) Упростим задачу: функция возвращает значение типа record. Условия: известно количество возвращаемых полей, имена полей присутствуют в качестве массива text[]. Цель: перебрать последовательно все поля возвращённой записи по порядку и получить значения полей. Как?record откуда берется ? Если вы его получаете сами, то можно примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Проблема с pl/pgsql в том, что в теле процедуры невозможно обратиться к элементу record не зная его названия во время разработки процедуры. Обход заключается в том, что вы подставляете в динамический sql нужное название, и потом к нему обращаетесь. Т.е. если вы сами выполняете запрос, и знаете кол-во полей, просто подставьте нужные названия. Если кол-во не известно, можно выполнить несколько раз, вытаскивая по одному полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 07:29 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Serik AkhmetovПроблема с pl/pgsql в том, что в теле процедуры невозможно обратиться к элементу record не зная его названия во время разработки процедуры. Обход заключается в том, что вы подставляете в динамический sql нужное название, и потом к нему обращаетесь. Т.е. если вы сами выполняете запрос, и знаете кол-во полей, просто подставьте нужные названия. Если кол-во не известно, можно выполнить несколько раз, вытаскивая по одному полю. это немного не то... т.е. функции, которая возвращает record передаются имя таблицы, список необходимых полей и условие выборки. она строит запрос, говорит EXECUTE v_query INTO v_rec и этот v_rec возвращает. НО! таблица может иметь произвольное количество полей и код приведённый Вами между loop...end loop должен быть динамическим, а это невозможно на plsql... Либо написать кучу IF...ELSIF...ELSIF с условием типа rec_count = n+1 ну скажем до n = 50... мне бы пример на plperl или plpython, я бы разобрался дальше... просто сам никогда не писал на них ХП :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 08:13 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 10:03 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. select * from mammoth.get_field_values('test_one', 'name, descr, created'); и получаю сначала (!) created, а потом name и descr... почему так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 11:03 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Это особенность хэша, он не хранит порядок записей. зная название поля можно явно к нему обратиться Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 11:17 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Serik AkhmetovЭто особенность хэша, он не хранит порядок записей. зная название поля можно явно к нему обратиться Код: plaintext примерно вот так получилось: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 13:48 |
|
||
|
record в text[] - можно?
|
|||
|---|---|---|---|
|
#18+
Алексей Колосов Алексей КолосовВозможно ли преобразовать значение типа record в массив text[]? Если можно, то как? Если нельзя, почему? :) Упростим задачу: функция возвращает значение типа record. Условия: известно количество возвращаемых полей, имена полей присутствуют в качестве массива text[]. Цель: перебрать последовательно все поля возвращённой записи по порядку и получить значения полей. Как? Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 14:30 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34503026&tid=2005479]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
144ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 482ms |

| 0 / 0 |
