![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление записи [D6, Firebird]
MNz © (2005-01-12 21:30:00)Здравствуйте мастера!
Подскажите, пожалуйста, как сделать так чтобы при удалении записи из таблицы «№1» копия этой записи создавалась в таблице «№2». Таблицы «№1» и «№2» идентичны по структуре.
jiny (2005-01-13 11:15:00) [1]А может тогда не удалять ее явным способом, а добавить поле IsDeleted(smallint) 0 - удалена, 1 - жива. И только апдейтить это поле при "удалении"
MNz (2005-01-13 11:10:00) [2]А это можно как-то сделать без использования ХП и Триггеров?
DSKalugin (2005-01-13 10:59:00) [3]Я делаю это как сказал Fay ©
CREATE TRIGGER "TR_sklad_BeforeDelete" FOR "sklad"
ACTIVE BEFORE DELETE POSITION 0
AS
begin
insert into "sklad_trash" (
список полей челез запятую
)
values (
"sklad"."cod",
"sklad"."detail_number",
список полей челез запятую,
'today');
end
отличием в структуре таблицы-мусорника является наличие дополнтельного поля с датой удаления, отсутствие индексов и ограничений
GanibalLector (2005-01-13 00:15:00) [4]или ХП,входным параметром которой будет некий ID.Соответственно,копирование данных в "таблицу2",удаление из "таблицы1"
Fay (2005-01-12 21:46:00) [5]создать для этого триггер