Страница 1 из 1

в Триггере не выполняется UPDATE

Добавлено: 19 мар 2010, 10:40
Karburator
Здравствуйте, помогите разобраться - в триггере, при попытке удаления записи в таблице PSPO, хочу изменить данные в таблице T_SET, а затем вызвать исключение. Исключение вызывается успешно, но данные в таблице T_SET не изменяются - почему этого не происходит, что я делаю не так?

Код триггера:

Код: Выделить всё

CREATE TRIGGER PSPO_BD0 FOR PSPO
ACTIVE BEFORE DELETE POSITION 0
AS
begin
  update T_SET
    set tset=1
    where (id=1);

  exception E_PSPO_NODEL;
end
версия сервера - FB 2.1.1

Re: в Триггере не выполняется UPDATE

Добавлено: 19 мар 2010, 11:17
hvlad
Karburator писал(а):Здравствуйте, помогите разобраться - в триггере, при попытке удаления записи в таблице PSPO, хочу изменить данные в таблице T_SET, а затем вызвать исключение. Исключение вызывается успешно, но данные в таблице T_SET не изменяются - почему этого не происходит, что я делаю не так?
Исключение отменяет твой апдейт

Re: в Триггере не выполняется UPDATE

Добавлено: 19 мар 2010, 12:05
Karburator
Есть ли в таком случае возможность в триггере одновременно вызвать и исключение и запомнить изменения таблицы T_SET? И как это можно сделать?

Re: в Триггере не выполняется UPDATE

Добавлено: 19 мар 2010, 12:49
hvlad
Делать апдейт в автономной тр-ции, Firebird 2.5

Или пересмотреть задачу

Re: в Триггере не выполняется UPDATE

Добавлено: 22 мар 2010, 06:42
Karburator
Благодарю за ответы, где можно посмотреть информацию о совместимости версий FB 2.1 и 2.5 и переходе на старшую? Интересует так же такой вопрос - сервер на версии 2.5 будет работать с клиентом на 2.1?

Re: в Триггере не выполняется UPDATE

Добавлено: 22 мар 2010, 10:17
kdv
информацию о совместимости версий FB 2.1 и 2.5 и переходе на старшую?
Firebird_v2.5.0.ReleaseNotes.pdf в папке doc установки. там же и
README.incompatibilities.txt
сервер на версии 2.5 будет работать с клиентом на 2.1?
будет, но лучше клиента 2.5. зачем такой бутерброд?