powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / странное сообщение при повторном вызове функции
7 сообщений из 7, страница 1 из 1
странное сообщение при повторном вызове функции
    #32341181
MaximZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть функция, которая строит дерево форума и выдает его в виде таблицы. В самйо функции созадется две временные таблицы. При выходе из функции они уничтожаются, на всякий случай.
Если в одной сесси соединения два раза подряд вызвать эту функцию, то первый раз все нормально, а второй раз выдает следующее сообщение:

WARNING: Error occurred while executing PL/pgSQL function p_getmesstree
WARNING: line 27 at SQL statement

ERROR: pg_class_aclcheck: relation 84473 not found

в строке 27 идет заполнение одной из временных таблиц значениями.
По идее все должно быть нормально, ведь в конце функции таблицы уничтожаются. Но почему то не работает.
Если закрыт соединение ,и опять открыть, опять первый вызов работает нормально, а второй выдает такое сообщение.
...
Рейтинг: 0 / 0
странное сообщение при повторном вызове функции
    #32341207
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работай с временными таблицами в функциях через EXECUTE.
...
Рейтинг: 0 / 0
странное сообщение при повторном вызове функции
    #32341225
MaximZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но вообще-то это идеологически не правильно.
И блин, еще раза в два увеличивает размер текста функции. Я и так в связи с гиморойной работой массивов сделал это через еще одну временную таблицу. а тут еще и запросы строить. Не такой уж этот plsql и гибкий язык в плане програмирования.
...
Рейтинг: 0 / 0
странное сообщение при повторном вызове функции
    #32341581
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Язык отличный. Писать на нем надо уметь. В большинстве случаев временные таблицы внутри процедуры не нужны.

Полсему пример кода в студию и описание задачи.
...
Рейтинг: 0 / 0
странное сообщение при повторном вызове функции
    #32341783
MaximZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, кода не будет. Я и сам знаю что можно обойтись без временных таблиц, но в данном случае мне удобнее их использовать и получить из функции конечный результат в нужном виде.
К тому же если есть возможность создавать временные таблицы, то почему я не должен ее использовать.
...
Рейтинг: 0 / 0
странное сообщение при повторном вызове функции
    #32341796
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему так, описано в документации. В разделе, где говорится о компиляции ХП.
...
Рейтинг: 0 / 0
странное сообщение при повторном вызове функции
    #32341799
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется в виду про использование временных таблиц.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / странное сообщение при повторном вызове функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]