Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Можно ли использовать хранимые процедуры plpgsql так же, как и в firebird/interbase/yaffil? То есть, рассматривать их, как таблицы: Код: plaintext 1. 2. 3. 4. Если можно, то каким должен быть DDL для аналога процедуры firebird: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 12:17 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Да, можно. Дока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 14:00 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Доки я много раз уже читал, но почему-то так и не дошло % Пишут про тип record, что он динамический. Но если так, то должна быть возможность сделать нечто вроде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 12:45 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
tIT-GP wrote: > Доки я много раз уже читал, но почему-то так и не дошло % > Пишут про тип record, что он динамический. > Но если так, то должна быть возможность сделать нечто вроде: > Код: plaintext 1. 2. 3. 4. 5. 6. 7. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 13:32 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
А как-нибудь без AS ROW()? Слишком многословно получается. %( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 14:19 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
tIT-GP пишет: > А как-нибудь без AS ROW()? > Слишком многословно получается. %( > Тема <http://www.sql.ru/forum/actualthread.aspx?tid=245967> Ответить > <http://www.sql.ru/forum/actualpost.aspx?tid=245967> > create type my_row as ( int_field int4, float_field float, text_field text ); create function getmy() returns my_row as ' declare my my_row; begin my.int_field := 15; my.float_field := 10.76; my.text_field := \'Yohoho!!!\'; return my; end; ' language plpgsql; select * from getmy(); Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 07:34 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Большое спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:41 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Еще вопрос: а как добится возврата не одной строки, а нескольких? Например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Как я не менял расположение return my, не добился вывода 15 строк. Всегда выводится одна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 16:35 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
tIT-GPЕще вопрос: а как добится возврата не одной строки, а нескольких? Например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Как я не менял расположение return my, не добился вывода 15 строк. Всегда выводится одна. Вместо return надо использовать return next Дока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 16:53 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
tIT-GP пишет: > Еще вопрос: а как добится возврата не одной строки, а нескольких? > Например > > declare > my my_row; > i integer; > begin > > for i in *1*..*15* > loop > begin > > my.int_field := i; > my.float_field := *0*.*86*; > my.text_field := 'Yohoho!!!'; > > end; > end loop; > return my; > > end; > > Как я не менял расположение return my, не добился вывода 15 строк. > Всегда выводится одна. > Тема <http://www.sql.ru/forum/actualthread.aspx?tid=245967> Ответить > <http://www.sql.ru/forum/actualpost.aspx?tid=245967> > попробуй <code> create function getmy() returns setof my_row as ' declare my my_row; i integer; begin for i in *1*..*15* loop my.int_field := i; my.float_field := *0*.*86*; my.text_field := 'Yohoho!!!'; return next my; end loop; return; end; ' language plpgsql; </code> а еще лучше почитай доки http://www.postgresql.org/docs/7.4/interactive/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING и поищи на форуме Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 16:54 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#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. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. После этого выполняю запрос Код: plaintext 1. 2. 3. Ругается, что: ERROR: relation "a" does not exist ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 18:12 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
tIT-GP Код: plaintext 1. 2. 3. Ругается, что: ERROR: relation "a" does not exist Такая штука в Постгресе до сих пор не реализована. Нельзя передать в функцию поля связываемой таблицы/функции. Приходится для каждого случая писать свою функцию, с циклическим вызовом параметризуемой функции внутри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 03:43 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Ну вот % Придется пока отказаться от использования PostgreSQL в наших проектах и сидеть на регулярно падающем firebird %( Всем спасибо за ответы! =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 10:10 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
а вьюхи пробовали использовать? мне думается что можно не функции писать в Вашем случае, а попробовать половину во вьюхи преобразовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 13:23 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Хех =)) Не все так просто =) На самом актуальном проекте (musa-motors.ru) на базе firebird задействовано: 40 доменов 66 таблиц 36 вьюшек 209 хранимых процедур 345 триггеров 20 udf Все данные сайта берутся из хранимых процедур, коих чуть меньше сотни - 27 общих для всех сайтов и остальные специфические для мусы (к таблицам, вьюшкам у скриптов просто доступа нет из соображения безопасности - на стороне БД решается, что отдавать, а что нет). Все остальное задействовано программой управления (upsite.ru). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 15:18 |
|
||
|
Хранимые процедуры PostgreSQL
|
|||
|---|---|---|---|
|
#18+
и что Вы этим хотите сказать? ну есть готовый проект на FB и что? кто мешает в новом сделать все немного подругому? я пока понял что вы хотите делать так как привыкли, а не так как правильно было бы делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2005, 15:24 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=330&tid=2006770]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
5ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 393ms |

| 0 / 0 |
