Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
Привет! Может кто помочь со следующим. В БД создана функция: CREATE FUNCTION public.ins1(int4, int4) RETURNS int4 AS ' BEGIN select * from dblink_connect(''hostaddr=ххх.ххх.ххх.ххх port=5432 dbname=test user=postgres password=postgres''); select * from dblink_exec(''insert into test_main values (%1,%2,1)''); Return 0; END;' LANGUAGE 'plpgsql' VOLATILE; команды, находящиеся в теле функции срабатываюе на "ура" пока их не запихали в функцию. В результате при попытке выполнить select ins1(2,2) вылезает ошибка: SELECT query has no destination for result data. If you want to discard the results, use PERFORM instead. ПОМОГИТЕ ПОЖАЛУЙСТА! что нужно сделать? Спасибо заранее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 14:06 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
Что-то я не понял... Что за помесь Postgres'a с PHP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 15:35 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
вопрос решился. срабатывающтй вариант функции: CREATE FUNCTION public.ins1(int4, int4) RETURNS int4 AS ' BEGIN PERFORM dblink_connect(''hostaddr=ххх.ххх.ххх.ххх port=5432 dbname=test user=postgres password=postgres''); PERFORM dblink_exec(''insert into test_main values (''||$1||'',''||$2||'',1)''); Return 0; END;' LANGUAGE 'plpgsql' VOLATILE; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 15:59 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 16:00 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
Народ, я юзал до этого MS SQL 2000. Такая приятная штука по сравнению с PostgreSQL.... Но... последний бесплатный, поэтому, разбираемся... Вопрос - сабж. Посмотрел ваши ответы, пробовал и PERFORM, и INTO rec, где rec - это RECORD. Функция отрабатывает, но результатов нет, кроме названий столбцов. Объясню ситуацию: есть две таблицы: Projects и Customers: Код: 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. Я их заполнил данными так, чтобы в проектах были записи о кастомерах. Создал ещё одну таблицу, как тип для ф-ции, которая будет возвращать инфу и проекте и сразу же всю инфу о его кастомере: Код: 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. Затем, создаю функцию выборки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. И когда в простом SQL редакторе пишу запрос типа: select * FROM "GetAllProjects"(), получаю лишь названия столбцов таблицы ReturnFullProjects. А надо и записи, блин... Когда же выбираю просто все проекты функцией, написанной на простом языке sql: Код: plaintext 1. 2. 3. 4. 5. то всё выбирается, но правда только в два столбика: row и getPrj1(). В row просто порядковый номер записи, а в getPrj1() в скобках через запятую перечислены данные полей таблицы Projects. Что посоветуете использовать? Как быть? Желательно бы использовать тот же plpgsql для отображения записей, вдруг понадобится вставлять туда условия IF или обьявлять переменные, которых простой sql не понимает... Как отобразить данные? Далее я буду получать эти данные recordset'ом через JDBC драйвер. Но надо, чтобы они отображались... помогите плиз. Заранее благодарен! P.S.: То ли дело MS SQL Server 2000... как там легко это дело делать... без всяких лишних типов для возврата, без всяких преформов и т.д... эххх :(( Ещё раз ОГРОМНОЕ спасибо за любой дельный совет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 18:56 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
Как мне нравится этот закон! ;) Я о законе подлости :) Иногда он реально помогает. Только что написал в форум о своей проблеме, но не оставил поисков её решения. И вот, дошёл до рабочего варианта. Если кто-то знает что-то лучше, прошу, выложете здесь... Или какие-то ошибки у меня в определениях, которые видны Вам, пожалуйста, напишите тут об этом. Спасибо. Пишу тут решение, может, кому-то поможет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 19:22 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
J-ProКак мне нравится этот закон! ;) Я о законе подлости :) Иногда он реально помогает. Только что написал в форум о своей проблеме, но не оставил поисков её решения. И вот, дошёл до рабочего варианта. Если кто-то знает что-то лучше, прошу, выложете здесь... Или какие-то ошибки у меня в определениях, которые видны Вам, пожалуйста, напишите тут об этом. Спасибо. Пишу тут решение, может, кому-то поможет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. а что, разве Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2006, 20:47 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
ZemAа что, разве Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Я же пишу, что на простом sql работает. А если тебе в этой функции надо будет проверить аргументы, используя IF? Или объявить дополнительные переменные? Это только в plpgsql можно. А твоя ф-ция, так, как ты её написал выше, в языке plpgsql работать не будет. Кстати, если не писать "VOLATILE CALLED ON NULL INPUT SECURITY INVOKER", это, ведь, по умолчанию, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2006, 10:16 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
J-ProНарод, я юзал до этого MS SQL 2000. Такая приятная штука по сравнению с PostgreSQL.... Не хочу наводить флейм, но лично я радуюсь, что перешел на PostgreSQL - по понятней будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2006, 10:24 |
|
||
|
НЕ ОТРАБАТЫВАЕТ ФУНКЦИЯ!
|
|||
|---|---|---|---|
|
#18+
Funny_Falcon J-ProНарод, я юзал до этого MS SQL 2000. Такая приятная штука по сравнению с PostgreSQL.... Не хочу наводить флейм, но лично я радуюсь, что перешел на PostgreSQL - по понятней будет. На этот счёт, думаю, у каждого своё мнение и для этого действительно нужна (или уже есть) отдельная тема. Своим высказываниемм я лишь хотел показать, что лично мне именно разбираться с этой базой гораздо сложнее, вот и всё. Поэтому, попросил помощи. И всё ещё жду от вас ответов, если я что-то неверно\нерационально выше написал. Спасибо заранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2006, 11:02 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33647361&tid=2006500]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 332ms |

| 0 / 0 |
