Потому что ERROR откатывает все изменения.
Если уж очень надо то закрывай транзакцию перед ERROR.
Blocking:=TRUE;
или
MODIFYALL(Blocking, TRUE);
....
COMMIT;
ERROR("....");
Но это глупый код. Мой тебе совет узнать для чего это нужно и сделать по-другому.
__________________
Удачи!
|