powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ошибка при работе с типом %rowtype
9 сообщений из 9, страница 1 из 1
Ошибка при работе с типом %rowtype
    #33048833
Konstantin N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что было:
1. Удалил одно поле из таблицы.
2. Создал функцию без параметров, в которой одна из используемых переменных nametable%rowtype
3. При обращении к функции ошибка:
cache lookup for type 0 of nametable.........pg.dropped.4........ failed

Ошибка исчезает когда пересоздаю таблицу без удаленного поля. Но можно ли избавится от ошибки без пересоздания таблицы. По хелпу, считаю - при создании создается или заменяется композитный тип данных, аналогичный таблице и больше никогда не изменяется. Вопрос: можно ли какой либо командой изменить этот композитный тип данных(обновить)?
Или есть еще какие варианты реше6ния проблемы с ошибкой?
...
Рейтинг: 0 / 0
Ошибка при работе с типом %rowtype
    #33049550
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пересоздать функцию?
...
Рейтинг: 0 / 0
Ошибка при работе с типом %rowtype
    #33059014
Konstantin N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пересоздание функции не помогает. Да и создается функция уже после того как были произведены действия над таблицей. Проблема в том, что тип данных, соответствующий таблице, создается автоматически только при создании таблицы. При изменении таблицы, тип данных, соответствующий таблице, не меняется и в результате, при использовании переменной такого типа возникают ошибки.
...
Рейтинг: 0 / 0
Ошибка при работе с типом %rowtype
    #33060852
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может попробовать просто создавать (удалять) СВОЙ тип??? НУ типа CREATE TYPE ну или как там ... и пользоваться им

хотя если все эти действия происходят в одной сессии то (ИМХО) ничего не выйдет поскольку все кэшируется и хранится в скомпиленном виде до конца сессии (процедуры так а типы я думаю что тоже так)
...
Рейтинг: 0 / 0
Ошибка при работе с типом %rowtype
    #33063107
Konstantin N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Свой тип, такой же как тип данных таблицы создавал - это конечно выход, но он не красивый. Если я удаляю( или создаю) из таблицы столбец, а другой пользователь создал для этой таблицы свой тип, то в типе столбец остается, а в таблице нет(или наоборот). Конечно можно исправить, и тип. Но это может привести к ошибкам.

Так что вопрос не снят. Интересен прямой путь - как обновить тип данных создаваемый вместе с таблицей, автоматически при изменении таблицы?
...
Рейтинг: 0 / 0
Ошибка при работе с типом %rowtype
    #33063221
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
перечитал вопрос первый раз не на то отвечал :-))

какой postgresql?

чего вообще надо сделать? и почему чегото там удаляется? межет проблему можно решить по другому?
...
Рейтинг: 0 / 0
Ошибка при работе с типом %rowtype
    #33066802
Konstantin N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Postgres 8.x

Столбцы удаляются если требуется изменить структуру данных - при работе выявил что какой нито не нужен или наоборот новое свойство потребовалось. В этих случаях, если делать Alter Table и чего либо со столбцами, то возникают ошбки с типом созданным автоматически при создании таблицы.
...
Рейтинг: 0 / 0
Ошибка при работе с типом %rowtype
    #33068483
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм странно у меня все нормально с типами которые к таблицам создаются ...

может стоит не использовать rowtype? заменить его например на record ну или в конце концов продумывать все а потом начинать кодить ;-)
...
Рейтинг: 0 / 0
Ошибка при работе с типом %rowtype
    #33090549
Konstantin N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да. единственный вариант выбран - отказ от %rowtype. Интересно разобраться с вопросом по использованию типа данных соответствующему таблице после изменения структуры таблицы, без ее пересоздания.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ошибка при работе с типом %rowtype
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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