select * from rdb$relation_constraints rc1 natural join rdb$check_constraints cc1 where cc1.rdb$trigger_name in ( select cc.rdb$trigger_name from rdb$relation_constraints rc natural join rdb$check_constraints cc where rc.rdb$constraint_type = 'CHECK' group by cc.rdb$trigger_name having count(*) > 1 )
4 авг. 2010 г.
Проверка структуры базы на повреждения
В развитие предыдущего поста. В некоторых базах (но не всех!) из тех, где не проходит команда изменения домена или создания чека, ситуация еще хуже: несколько чеков из разных таблиц ссылаются на один и тот же системный триггер. Проверить можно с помощью такого запроса:
2 комментария:
На Yf такой запрос не проходит
Token unknown - line 3, column 2
natural
На Yaffil можете попробовать:
select
c.rdb$constraint_name,
t.*
from
rdb$check_constraints c join rdb$triggers t
on c.rdb$trigger_name = t.rdb$trigger_name
where
exists (
select *
from rdb$check_constraints c2 join rdb$triggers t2
on c2.rdb$trigger_name = t2.rdb$trigger_name
where
c2.rdb$constraint_name <> c.rdb$constraint_name
and c2.rdb$trigger_name = c.rdb$trigger_name)
Отправить комментарий