Невозможно удалить CHECK_CONSTRAINTS
Добавлено: 01 апр 2011, 23:55
Добрый день.
Есть база под FB2.5, в ней была простая табличка с данными
На поле было наложено ограничение (не подумавши):
В итоге в таблице оказались данные, которые не попадают под данное ограничение. Решено было удалить чек:
В итоге получилось так, что чек не удалился, при повторной попытке удаления получаем сообщение
This operation is not defined for system tables.
unsuccessful metadata update.
CONSTRAINT GD_CHK_RUID_ETALON does not exist.
но данные которые не попадают под чек занести нельзя + чек имеется в таблице RDB$CHECK_CONSTRAINTS + есть и его триггеры в RDB$TRIGGERS.
Как такое получилось, что при удалении чека сообщается, что его нет, но он существует? Базу могу предоставить.
Есть база под FB2.5, в ней была простая табличка с данными
Код: Выделить всё
CREATE TABLE GD_RUID (
ID DINTKEY,
XID DINTKEY ,
DBID DINTKEY ,
MODIFIED TIMESTAMP NOT NULL,
EDITORKEY DFOREIGNKEY );
Код: Выделить всё
ALTER TABLE gd_ruid ADD CONSTRAINT GD_CHK_RUID_ETALON CHECK((xid >= 147000000) OR (dbid = 17))
Код: Выделить всё
alter table gd_ruid drop constraint GD_CHK_RUID_ETALON
This operation is not defined for system tables.
unsuccessful metadata update.
CONSTRAINT GD_CHK_RUID_ETALON does not exist.
но данные которые не попадают под чек занести нельзя + чек имеется в таблице RDB$CHECK_CONSTRAINTS + есть и его триггеры в RDB$TRIGGERS.
Как такое получилось, что при удалении чека сообщается, что его нет, но он существует? Базу могу предоставить.