Способы НЕ удаления данных справочников ?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Эстет
Сообщения: 15
Зарегистрирован: 17 янв 2005, 13:36

Способы НЕ удаления данных справочников ?

Сообщение Эстет » 20 фев 2006, 02:10

В общем размышляю над проблемой удаления записей в таблицах справочников. Например есть таблица справочника товаров ... есть вторая таблица ... скажем ... накладных ... в таблице накладных поле кода товара сделанно как FK таблицы справочника товаров.

Вопрос: Как запретить удаление записей в справочнике товаров если по этому товару есть движение в таблице накладных ?

Пока придумал тока два способа:
1. Использовать триггер на стороне сервера before delete в таблице справочника товаров, который проверяет наличие записей в таблице накладных. Если записи есть то идёт отмена удаления.
2. На клиентской стороне перед удалением товара проверять наличие записей в таблице накладных и соответвсенно принимать решение удалять/неудалять.

Существуют ли ещё способы сохранения ссылочьной целосности в FB-1.5.3 ?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 20 фев 2006, 08:06

Если ты при создании FK не указал ON CASCADE DELETE то все будет так как тебе нужно - запись из главной таблицы нельзя удалить пока есть подчиненные.

Ответить