Вниз
Скачать: CL | DM;

Можно ли сделать чтобы пр удалении запись не удалялась а просто..   Найти похожие ветки 

← →
Sirus   (2004-08-06 12:13) [0]

Привет Мастера...
Есть вопрос: Можно ли сделать так, чтобы при удалении запись не удалялась а просто помечалась как удаленная (изменялось только значение одного поля, скажем IS_DELETED=1)


← →
Johnmen ©   (2004-08-06 12:15) [1]

Можно. Изменяй значение одного поля, скажем IS_DELETED=1
:)


← →
Sirus   (2004-08-06 12:17) [2]

Нееее... Хочу чтобы при выполнении SQL
delete from TABLE1
where FIELD1=1

выполнялся SQL
update TABLE1
set IS_DELETE=1
where FIELD=1 and IS_DELETED=0


← →
Johnmen ©   (2004-08-06 12:19) [3]

Хотеть не вредно. Обойдёшься...:)))
Вместо делете делай апдейт. И не морочь себе голову...


← →
Sirus   (2004-08-06 12:22) [4]

А что нить наподобие тригера нелзья сделать... before delete или after delete??? :-(((


← →
Rule ©   (2004-08-06 12:30) [5]

Sirus   (06.08.04 12:22) [4]
перекрыть стандартный запрос ты не сможешь единственный вариант - это создать тригер после удаления в котором вставишь только удаленную запись только значению поля из_делете присвоишь 1
ну вроде такого

CREATE TRIGGER TABLE1_AD0 FOR TABLE1
ACTIVE AFTER DELETE POSITION 0
AS
begin
insert into TABLE(ID,FIELD1,FIELD2,FIELD3,IS_DELETED)
values  (old.ID,old.FIELD1,old.FIELD2,old.FIELD3,"1");
end
вот и все, только это называется ковырятся в ному через ж...


← →
Rule ©   (2004-08-06 12:31) [6]

Rule ©   (06.08.04 12:30) [5]
извеняюсь поправка:
CREATE TRIGGER TABLE1_AD0 FOR TABLE1
ACTIVE AFTER DELETE POSITION 0
AS
begin
insert into TABLE1 (ID,FIELD1,FIELD2,FIELD3,IS_DELETED)
values  (old.ID,old.FIELD1,old.FIELD2,old.FIELD3,"1");
end


← →
Sirus   (2004-08-06 12:33) [7]

Объясните пожалуйста что такое "НОМУ"... И почему в нем нужно ковыряться через "Ж..." :)))


← →
Sirus   (2004-08-06 12:35) [8]

Rule ©   (06.08.04 12:31) [5], [6]
А в целом спасибо... Именно то что нужно...


← →
Rule ©   (2004-08-06 12:40) [9]

Sirus   (06.08.04 12:33) [7]
я имел ввиду носу :), лучше сделать как посоветовал
Johnmen ©   (06.08.04 12:19) [3]


← →
Sirus   (2004-08-06 12:49) [10]

Нет это для пользователей... Они научились удалять записи в таблице через IBExpert (нажимают там "-")...
А я хочу знать что он там удалил (чтобы потом спросить зачем???)...


← →
Sergey13 ©   (2004-08-06 12:52) [11]

2[10] Sirus   (06.08.04 12:49)
Ха-ха-ха. Так ты в одно прекрасное утро там и тригера то можешь не увидеть. Не то что записи.


← →
Rule ©   (2004-08-06 12:55) [12]

Sirus   (06.08.04 12:49) [10]
тогда батенька вам надо логирование сделать или на тех же тригерах, тоесть заноситься в отдельную таблицу все изменения или же такаяже ерунда только автоматизированая есть в эксперте, так что я думаю это будет лучше ...


← →
Andrey   (2004-08-06 12:59) [13]

Необходимо создать RULE перед удалением с параметром замены исходного SQL запроса на удаление (параметр похоже называется instead=true)


← →
Johnmen ©   (2004-08-06 13:05) [14]

>Andrey   (06.08.04 12:59) [13]

Ты о чём ?


← →
Rule ©   (2004-08-06 14:03) [15]

Andrey   (06.08.04 12:59) [13]
И я чегото не понял


← →
Andrey_   (2004-08-06 14:06) [16]

Да я сам не понял :)


← →
stud   (2004-08-06 14:14) [17]

отбери у них права на удаление из нужной таблицы



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.021 c
3-1091619833
vic
2004-08-04 15:43
2004.08.29
InsertRecord (ADOTable)


6-1088324258
Scordion
2004-06-27 12:17
2004.08.29
Компонент для скачивания файлов!


1-1092238973
Случайно забежавший
2004-08-11 19:42
2004.08.29
Кнопки, созданные во время выполнения приложения


1-1091422420
Konsul
2004-08-02 08:53
2004.08.29
DLL


14-1092157745
jack128
2004-08-10 21:09
2004.08.29
помогите найти источник варнинга.




   Наверх