короче, есть еще база. На ней оператор:
ALTER DOMAIN dboolean SET DEFAULT 0
Кидает все ту же ошибку (на комите транзакции).
"This operation is not defined for system tables.
unsuccessful metadata update.
DEFINE TRIGGER failed.
action cancelled by trigger (1) to preserve data integrity.
Cannot update trigger used by a CHECK Constraint."
Проверяю базу запросом:
with ctt as (
select
c.rdb$constraint_name constraint_name,
rc.rdb$relation_name contraint_relation,
t.rdb$trigger_name trigger_name,
t.rdb$relation_name trigger_relation
from
rdb$check_constraints c
join rdb$triggers t on c.rdb$trigger_name = t.rdb$trigger_name
join rdb$relation_constraints rc on rc.rdb$constraint_name =
c.rdb$constraint_name
)
select
*
from
ctt c1 join ctt c2 on
c1.trigger_name = c2.trigger_name
and
c1.constraint_name <> c2.constraint_name
Запрос выдает пустой набор. Т.е. ситуации "У тебя в системных таблицах
какой-то ужас. Два разных чека на разных
таблицах ссылаются на один и тот же системный триггер." не
наблюдается. Но, оператор не проходит! В чем проблема?