Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.02.2007, 09:10
|
|||
|---|---|---|---|
Помогите с функцией!!! |
|||
|
#18+
Привет всем! У меня здесь функция Она компилируется нормално, но не выполняетсся выдает ошибку ERROR: a column definition list is only allowed for functions returning "record" CREATE OR REPLACE FUNCTION "public"."f_sel_table1" (out v_id integer, out v_name varchar, out v_fname varchar) RETURNS SETOF "pg_catalog"."record" AS $body$ declare rec record; begin for rec in select ta_id, ta_name, ta_fname from public.table1 loop v_id := rec.ta_id; v_name := rec.ta_name; v_fname := rec.ta_fname; return next; end loop; return; end $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; Не понимаю что здесь нитак? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 15:53
|
|||
|---|---|---|---|
|
|||
Помогите с функцией!!! |
|||
|
#18+
guest62Привет всем! У меня здесь функция Она компилируется нормално, но не выполняетсся выдает ошибку ERROR: a column definition list is only allowed for functions returning "record" Не понимаю что здесь нитак? A kak vy ee vyzyvaete ? Potomu chto u menia f-ia: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 18:00
|
|||
|---|---|---|---|
Помогите с функцией!!! |
|||
|
#18+
Спасибо она уже сработала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 18:03
|
|||
|---|---|---|---|
Помогите с функцией!!! |
|||
|
#18+
че-то какой-то бред у тебя! Тебе нужно возвратить набор данных (т.е. SET), а out переменные пригодны только для возврата одиночных значений. А RETURN NEXT должна быть обязательно с аргументом-переменной, чего ты собственно возвращаешь. Как у тебя компилится не знаю, по крайней мере в 8.2 у тебя должна возникать ошибка компиляции. Так что для начала надо переписать функцию твою: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. а теперь вызываем ее в селекте Код: plaintext AS (ta_id integer,ta_name varchar,ta_fname varchar) - как раз лечит ошибку ERROR: a column definition list is only allowed for functions returning "record". Без нее Postgres просто не знает ничего о структуре твоей записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 18:37
|
|||
|---|---|---|---|
|
|||
Помогите с функцией!!! |
|||
|
#18+
NetFantomче-то какой-то бред у тебя! Тебе нужно возвратить набор данных (т.е. SET), а out переменные пригодны только для возврата одиночных значений. А RETURN NEXT должна быть обязательно с аргументом-переменной, чего ты собственно возвращаешь. нормально все написано, через out - return next тоже можно возвращать выборки. Не спиши говорить "бред" если чего - то не понимаешь =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 18:56
|
|||
|---|---|---|---|
Помогите с функцией!!! |
|||
|
#18+
мм..а где это в документации написано, что OUT параметры могут возвращать SETOF, а не одиночные значения, не подскажешь? Я вот так думаю, что после выполнения функции в OUT параметрах будет возвращено последнее значение LOOP цикла, а вовзрат набора данных обеспечиватеся только RETURNS SETOF record. Так что если нам не нужны последние значения цикла, то и OUT переменные тоже лишние. Читай документацию: http://www.postgresql.org/docs/8.2/interactive/xfunc-sql.html#XFUNC-OUTPUT-PARAMETERS http://www.postgresql.org/docs/8.2/interactive/xfunc-sql.html#AEN36424 Может в ранних версиях PostgreSQL было по-другому, и потому мы расходимся во мнениях? Я работал активно только с 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 18:58
|
|||
|---|---|---|---|
Помогите с функцией!!! |
|||
|
#18+
Конечно, только если OUT параметры не композитного или array типа, но тогда они вообщем уже не будут набором табличных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 19:06
|
|||
|---|---|---|---|
Помогите с функцией!!! |
|||
|
#18+
Аха, сам нашел в описании return next http://www.postgresql.org/docs/8.2/interactive/plpgsql-control-structures.html сори ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 19:23
|
|||
|---|---|---|---|
|
|||
Помогите с функцией!!! |
|||
|
#18+
NetFantomАха, сам нашел в описании return next http://www.postgresql.org/docs/8.2/interactive/plpgsql-control-structures.html сори я и говорю, не спеши гнать, как ты сам сказал NetFantomЧитай документацию =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2007, 23:07
|
|||
|---|---|---|---|
Помогите с функцией!!! |
|||
|
#18+
ну не разобрался сразу, сори, просто использование out переменных в данном случае масло маслянной, то что я написал короче, и, возможно, выполняться быстрее будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.02.2007, 11:00
|
|||
|---|---|---|---|
|
|||
Помогите с функцией!!! |
|||
|
#18+
NetFantomну не разобрался сразу, сори, просто использование out переменных в данном случае масло маслянной, то что я написал короче то, что короче эт, не факт, т.е. сама функция короче, но при вызове твоей ф-ии надо будет указыать названия и типы всех столбцов, например Код: plaintext ИМХО эт оч. не удобно, особенно, когда полей много. NetFantom и, возможно, выполняться быстрее будет. Интересно с чего бы. Просто можно возвращать выборки несколькими способами, но не думаю, что будет разница в производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2007, 10:56
|
|||
|---|---|---|---|
Помогите с функцией!!! |
|||
|
#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. Нормално компилируются но когда визиваю дает ощибку: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2005576]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 406ms |

| 0 / 0 |
