Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
plpgsql: гдето вкралась ошибка. или очепятка
|
|||
|---|---|---|---|
|
#18+
простейшая функция - и чёто никак не отлажу. вкралась какая-то очепятка. или я чего-то не понимаю - так вроде особо и нечего тут понимать :(. Вот: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Вот чего пишет пгадмин: ERROR: syntax error at or near "$1" SQL state: 42601 Context: SQL statement in PL/PgSQL function "zak_post_poz_ins" near line 7 буксую второй вечер над этой фигнёй. и руками пошагово пробовал это выполнять - фунциклирует без проблем. и из кусков этого кода функции отдельные делать пробовал. со вторым инсертом проблем нет. а вот с первым странная картина получается. Вот две тестовые функции: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2007, 23:29 |
|
||
|
plpgsql: гдето вкралась ошибка. или очепятка
|
|||
|---|---|---|---|
|
#18+
идентификатор pnumerom встречается в параметрах функции и в полях таблицы. а теперь пара советов и замечаний. 1) зачем использовать именованные параметры функции, если их имена всё равно в коде не используются. это может привести и проводит к вышеприведенным ошибкам. 2) Если по каким-либо причинам не используются именованные параметры функции, то рекомендую использовать алиасы (ALIAS) к параметрам фукций. Это со всех сторон правильный подход. Ибо идентификаторы типа $1 неинформативны и трудочитаемы :) Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 01:00 |
|
||
|
plpgsql: гдето вкралась ошибка. или очепятка
|
|||
|---|---|---|---|
|
#18+
огромное спасибо!!! блин - скоко я парился с этой фигнёй. действительно это из-за параметра этого. его переименовал - и всё заработало. я токо одного не понял (не сильно громко смейтесь :) - я зеленоват в этом деле)- вроде как к параметрам именованым нельзя в теле функции по имени обратиться? или я что-то пропустил . . . я думал что токо через алиазы можно - не зависимо от того, есть у них имена - или токо тип их задан. ну а зачем я их именую - так это чтобы потом вспомнить что это и зачем. ну а по алиазам для параметров - я тоже сначала думал мол информативно это и всё такое - но потом как-то мне удобнее показалось использовать их без алиазов. это просто нагляднее. почему? потому, что сразу видно, что это параметр. а что за параметр - смотрим имя его в заголовке функции. а если с алиазом - то там немного больше нужно времени чтобы разобраться где параметр - а где имя поля или просто переменная. есть конечно ещё комментарии - но на их чтение тоже нужно время - а так и без них всё ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 09:37 |
|
||
|
plpgsql: гдето вкралась ошибка. или очепятка
|
|||
|---|---|---|---|
|
#18+
блин - сам теперь не могу понять почему я решил, что если именованые параметры у функции - то всёравно алиасы нужны - или по номеру к ним нужно обращаться. от же ш остолоп. теперь понял - можно и нужно по имени к ним обращаться без отэтих извращений :). большое спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 09:44 |
|
||
|
plpgsql: гдето вкралась ошибка. или очепятка
|
|||
|---|---|---|---|
|
#18+
ещё вот заметил - подсвечивается newid почемуто. это вроде в pgsql ничего не обозначает? вроде это в m$sql или в аксесе - не помню точно где - как в pgsql lastval(). наверное просто на форуме подсветка одна для всех диалектов? или я что-то опять пропустил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 09:48 |
|
||
|
plpgsql: гдето вкралась ошибка. или очепятка
|
|||
|---|---|---|---|
|
#18+
выучи зарезервированные слова в PG и никогда их не используй, если не хочешь опять гемор огрести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 11:15 |
|
||
|
plpgsql: гдето вкралась ошибка. или очепятка
|
|||
|---|---|---|---|
|
#18+
так что - newid в пгскле зарезервированое слово? вроде нет . . . это так в мсскл новое значение гвида получается. или и в пгскле тоже . . . :). надо короче немного подчитать на досуге мануал . . . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 11:31 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34511470&tid=2005471]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 363ms |

| 0 / 0 |
