Вниз
Скачать: 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.024 c
6-1086981860
Dimaxx
2004-06-11 23:24
2004.08.29
Скачивание файлов с использованием wininet


3-1091623108
Shama_n
2004-08-04 16:38
2004.08.29
Как получить кол-во записей удовлетворяющих условию


1-1092401649
Nata
2004-08-13 16:54
2004.08.29
Файлы


8-1086276830
Borealis
2004-06-03 19:33
2004.08.29
RIFF CDXA


1-1092384438
sig
2004-08-13 12:07
2004.08.29
Про BackSpase




   Наверх