Евгений wrote:
может вылетает ошибка при выполнении обновления, но исключение
проглатывается внутри QueryValue и ты его не видишь поэтому

Хмммм, ошибки там не возникает, но действительно виноват или эксперт или ФИБы.
Для проверки сделал скрипт:

CREATE EXCEPTION DONOTIT 'Go away !';

CREATE TABLE TEST (ID  INTEGER);

SET TERM ^ ;
CREATE TRIGGER TEST_BU FOR TEST
ACTIVE BEFORE UPDATE POSITION 0
as
begin
  exception Donotit;
end^
SET TERM ; ^
COMMIT WORK;

INSERT INTO TEST (ID) VALUES (1);
COMMIT WORK;

Дальше в SQL редакторе эксперта:
update test set ID=2 where ID=1; => вылетает эксепшн
update test set ID=1 where ID=1; => проходит на ура

то же самое в IBConsole вызывает эксепшн в обоих случаях.
Вот уж не думал, что даже прямые SQL команды могут не передаваться на сервер, если эксперт считает что ничего не изменилось...

Ответить