Невозможно изменить/удалить запись

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
aibuni
Сообщения: 2
Зарегистрирован: 04 мар 2011, 12:13

Невозможно изменить/удалить запись

Сообщение aibuni » 04 мар 2011, 12:21

Здравствуйте!
Столкнулся с проблемой, сам решить не в состоянии уже несколько дней. Любому, оказавшему помощь, огромное спасибо!
Имеется база FireBird 1.5. В ней таблица X произвольного содержания.
К таблице X прикручен триггер типа before insert, имеющий простейший вид
begin
if X.field = 10 then X.field = 12
end
Проблема заключается в том, что при срабатывании триггера на записи, удовлетворяющей условию, запись меняется, однако ее в дальнейшем невозможно ни изменить, ни удалить. Вроде удаляю/изменяю запись в IBExpert, нажимаю Commit, все приходит в первозданный вид. Записи, которые триггер пропускает, доступны для редактирования.
Убился напрочь с этой ерундой, помогите, люди!

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Невозможно изменить/удалить запись

Сообщение Dimitry Sibiryakov » 04 мар 2011, 14:20

Включи трассировку запросов, которые IBE отсылает на сервер и посмотри что не так.

aibuni
Сообщения: 2
Зарегистрирован: 04 мар 2011, 12:13

Re: Невозможно изменить/удалить запись

Сообщение aibuni » 05 мар 2011, 10:50

Трассировку выполнил, в момент нажатия кнопки Commit база возвращает Rollback, ошибок никаких не пишет

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Невозможно изменить/удалить запись

Сообщение Dimitry Sibiryakov » 05 мар 2011, 14:26

Ну так пиши на форум IBE, что у него кнопка "Commit" работает как "Rollback".

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Невозможно изменить/удалить запись

Сообщение kdv » 09 мар 2011, 22:42

подозреваю что у таблицы нет первичного ключа.

Ответить