Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
использование функций
|
|||
|---|---|---|---|
|
#18+
Доброго здоровья всем!!! Такая проблема Создаю функцию CREATE FUNCTION myfunc (smallint, name, text) ... при попытке ее выполнить SELECT myfunc(1,'some','some') выдается ошибка, что функция типа myfunc(integer, "unknown", "unknown") не найдена - переопределите typecast перегрузка функции исключена в чем может быть проблема ПС Postgresql 7.3.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2003, 23:22 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
Запости определение функции, а то не понятно даже на каком она языке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2003, 11:57 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
CREATE FUNCTION myfunc (smallint, name, text) returns integer as ' declare in_p1 alias for $1; in_p2 alias for $2; in_p3 alias for $3; out_p integer; begin insert into mytable(p1,p2,p3) values (in_p1, in_p2, in_p3); if found out_p = currval(mytable_id_seq); return out_p; else return 0; end if; end;' language 'plpgsql'; ПС: PSPGSQL подрублен ругань как я понял именно на объявление идет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2003, 17:44 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
http://www.commandprompt.com/ppbook/index.lxp?lxpwrap=c19610%2ehtm вот здесь приведены примеры, как добавить PL/pgsql надеюсь понятно Example 11-1. Creating the PL/pgSQL call handler booktown=# CREATE FUNCTION plpgsql_call_handler () booktown-# RETURNS OPAQUE booktown-# AS '/usr/local/pgsql/lib/plpgsql.so' booktown-# LANGUAGE 'C'; CREATE Example 11-2. Adding PL/pgSQL with CREATE LANGUAGE booktown=# CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler booktown-# LANCOMPILER 'PL/pgSQL'; CREATE причём без С не обойтись на сколько я понимаю, может кто меня поправит. можно писать функции и на Perl, Tcl, C, C++, SmallTalk и прочее лишь бы настроить это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2003, 18:55 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
http://www.commandprompt.com/ppbook/index.lxp?lxpwrap=c19610%2ehtm вот здесь приведены примеры, как добавить PL/pgsql надеюсь понятно Example 11-1. Creating the PL/pgSQL call handler booktown=# CREATE FUNCTION plpgsql_call_handler () booktown-# RETURNS OPAQUE booktown-# AS '/usr/local/pgsql/lib/plpgsql.so' booktown-# LANGUAGE 'C'; CREATE Example 11-2. Adding PL/pgSQL with CREATE LANGUAGE booktown=# CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler booktown-# LANCOMPILER 'PL/pgSQL'; CREATE причём без С не обойтись на сколько я понимаю, может кто меня поправит. можно писать функции и на Perl, Tcl, C, C++, SmallTalk и прочее лишь бы настроить это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2003, 18:55 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
Я ж говорю... сам PL\pgSQL уже подрублен таким макаром удевляет само заявление парсера при попытке вызвать функцию что мол вы вызываете функцию с первым параметром integer а второй и третий unknown ща приведу дословно # SELECT myfunc (1,'para1','para2') ; Function myfunc (integer, "unknown", "unknown") does not exist Unable to identify function that satisfies the given argument types You may need to add explicit typecast :( Но она создана!!! Вот такая бяка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2003, 21:58 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
Что за версия постгреса? В последних вроде отключили автоприведение, так что нужно указывать 'some'::text в параметрах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2003, 10:56 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
Да, и правда, прокатывает только так: Код: plaintext PostgreSQL 7.3.1 НО!!! Если определить функцию как Код: plaintext то всё работает и без явного приведения типов. Вероятно, это издержки появления доменов. Точно не знаю, буду искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2003, 11:30 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
версия 7.3.2 Действительно прокатило Неожиданно!!! Большое всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2003, 19:09 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
Так, а вот с 7.4.6 никак не разберусь ;\ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. Один хрен, не работает... =((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 10:08 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
а как ругается , а то параметров много - непонятно на что ругается.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 21:48 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
Ругается стандартно: Function ..................... does not exist Unable to identify function that satisfies the given argument types You may need to add explicit typecast ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 17:19 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
MindSlayerРугается стандартно: Function ..................... does not exist Unable to identify function that satisfies the given argument types You may need to add explicit typecast 1. вот в этом ..... находится список типов аргументов. Проверьте что _все_ типы совпадают с определением ф-ии. В частности таймстампы бывают разные - "местные" и нет (правда между ними кажется должно работать автоприведение типов). какой тип по умолчанию родит ф-я to_timestamp - надо смотреть. (тупо кастните _все_ выражения в требуемые типы (в т.ч. 0::ineger). Если ф-я не нашлась - причина не в привидении типов). 2. Схема, для которой определена ф-я может не читаться (не определна как USAGE для вашего юзера). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 18:42 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#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. Этап №1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ERROR: function hostel.st(timestamp with time zone, "unknown", "unknown", integer, "unknown", integer, "unknown", "unknown", integer, integer) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. Этап №2 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ERROR: function hostel.st(timestamp with time zone, character varying, character varying, integer, character varying, integer, character varying, character varying, integer, integer) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:34 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
ЗЫ. права на фанкшу пользователю прописаны... ;\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:38 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
MindSlayer Этап №2 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ERROR: function hostel.st(timestamp with time zone, character varying, character varying, integer, character varying, integer, character varying, character varying, integer, integer) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. to_timestamp возвращает тип timestampz, timestamp<>timestampz т.ч. сделай явное преобразование(to_timestamp('2004/01/01 13:02:55', 'YYYY/MM/DD hh24:mi:ss'))::timestamp и не поленись сделать 777::integer (хотя по умолчанию числа все равно распознаются как int4). И тогда можешь быть уверенным, что все пучком (не нашло ф-ии - ищи другие причины, кроме вызовов). если проблема в timestampz, то доопредели: CREATE OR REPLACE FUNCTION hostel.st (timestampz, varchar, varchar, integer, varchar, integer, varchar, varchar, integer, integer) RETURNS numeric AS' SELECT hostel.st ($1::timestamp, $2, $3, $4, $5, $6, $7, $8, $9, $10); ' LANquage 'SQL' VOLATILE .... и вызывай бе явного каста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 11:58 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
Знатоки! Помогите, уже все глаза прожег выискивая где ошибка =( Создал функцию, создал тестовую функцию которая вызывает нужную мне (потому как из голого SQL не понял как в функцию передавать параметры объявленные как OUT). Ошибка такая-же как у всех тут присутствующих: ERROR: функция sqlstat.startmission(character varying, integer) не существует HINT: No function matches the given name and argument types. You may need to add explicit type casts. CONTEXT: SQL-команда: "SELECT sqlstat.startmission ( $1 , $2 )" PL/pgSQL function "testfunc" line 6 at perform Вот сам код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Версия Postgresql 8.1.5 под linux. редактирую/выполняю все в pgadmin3 надеюсь на вас :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2006, 22:48 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
rossMoHaX Вот сам код: Код: plaintext 1. 2. 3. 4. Potomu chto functsiu s OUT parametrami nado vyzyvat' vot tak (argument doljen byt' odin!): Код: plaintext 1. Sootvetstvenno v vashem konkretnom primere vam nado sdelat' Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 16:40 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
СергейК[quot rossMoHaX] Potomu chto functsiu s OUT parametrami nado vyzyvat' vot tak (argument doljen byt' odin!): Ого! Спасибо огромное! Что то упустил я этот момент в документации =( Как тогда вызывать функцию у которой несколько разных OUT параметров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 16:47 |
|
||
|
использование функций
|
|||
|---|---|---|---|
|
#18+
rossMoHaX Ого! Спасибо огромное! Что то упустил я этот момент в документации =( Как тогда вызывать функцию у которой несколько разных OUT параметров? Pojaluista :) Nu v obychnom SQL'e Код: plaintext a v PL/pgSQL nado delat' Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 18:02 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=32104169&tid=2005947]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 327ms |

| 0 / 0 |
