Удаление записей из БД

Добрый день коллеги.

При попытке удалить Изменение из раздела "Изменения"

DELETE FROM [dbo].[Change]

Where Number = 'CR00001863'

получил ошибку типа:

The DELETE statement conflicted with the REFERENCE constraint "FK5Kbu9RCt70eQZWfPa41rONXsAM". The conflict occurred in database "NameDB", table "dbo.SysChangeRight", column 'RecordId'.

Залез в таблицу dbo.SysChangeRight - да, там есть записи с данным Id изменения.

Вопрос: достаточно ли будет удаления из таблицы dbo.SysChangeRight записей с Id.изменения, чтобы получить возможность выполнить верхний скрипт? 

Нравится

4 комментария

Необязательно. Вдруг есть ещё ссылки из других таблиц.

А вообще, в таблице SysChangeRight должна быть каскадная связь на поле RecordId, чтобы удаляло вместе с основной записью автоматически. Если нет, можно добавить, поставив галочку в объекте.

 

Зверев Александр,

Ссылки из других таблиц были - (деталь: активности) - они удалились каскадно средствами дизайнера. Не удалились каскадно, средствами дизайнера, история по данному Изменению и Согласование данного изменения - это все я "навернул"  запросом в SQL. А дальше - проблема, описанная выше...

Если каскадной связи нет, можно удалить из SysChangeRight запросом.

Зверев Александр,

Спасибо, действительно после удаления из таблицы SysChangeRight смог удалить и само изменение. 

Показать все комментарии