пометка записи вместо удаления

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
Dynamic
Сообщения: 22
Зарегистрирован: 04 май 2006, 09:30

Сообщение Dynamic » 11 май 2006, 07:36

Почему нельзя создать поле Deleted и считать, при Deleted=0 запись не помечена, при = 1 - помечена на удаление??

Dynamic
Сообщения: 22
Зарегистрирован: 04 май 2006, 09:30

Сообщение Dynamic » 11 май 2006, 08:57

может в обработке исключения?

Код: Выделить всё

exception ......
when ... deleted=1

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 май 2006, 09:19

а зачем тогда "генерить исключение"? собственно, при удалении с клиента должен идти update, а не delete.

Dynamic
Сообщения: 22
Зарегистрирован: 04 май 2006, 09:30

Сообщение Dynamic » 11 май 2006, 09:28

kdv писал(а):а зачем тогда "генерить исключение"? собственно, при удалении с клиента должен идти update, а не delete.
а чтобы не зависеть от того, что идет с клиента. Клиентская прога может быть и чужой...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 май 2006, 10:11

тогда при удалении перемещать запись в другую таблицу. или сделать view с триггерами, и при удалении обновлять. Или запретить удаление грантами, а удалять по нужной логике процедурой. И т.п.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 май 2006, 21:35

Можно чуть подробней не совсем понял
уй-ой. в доке написано. и во всех книжках. делаешь view. создаешь на нем триггер. в триггере пишешь хоть insert.

Ответить