Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Триггер создание архивной копии данных   Найти похожие ветки 

 
S@shka   (2004-06-07 13:03) [0]

Народ чего то торможу....
Есть две таблицы
Table1 и Table1_Arhive структуры идентичны
ID Integer
Data Varchar
Times TimeStamp
Но в Table1 уникальность по ID.
в Table1 хранятся данные по ID если они обновляются старые сливаются в архив.
делаю. Триггер в Table1 before update
...
if exists (select id from Table1 where id = new.id)
then begin
     update Table1_Archive values (old.id,old.data...)
    end
else begin
       insert into table1 values (new.id,new.data...);
    end;
...
Что тут не правильно? почему Insert не проходит???


 
Johnmen ©   (2004-06-07 13:07) [1]

Как почему ? Потому, что значение ключевого поля ID не изменилось...


 
S@shka   (2004-06-07 13:09) [2]

хе-хе-хе
:)


 
S@shka   (2004-06-07 13:09) [3]

а смысл то правильный ?


 
Johnmen ©   (2004-06-07 13:12) [4]

Правильней
IF (OLD.Field<>NEW.Field) THEN INSERT ....


 
S@shka   (2004-06-07 13:12) [5]

ну ... да энто написано...
спасибо


 
S@shka   (2004-06-07 13:19) [6]

Стоп...стоп...стоп!!!
Как это оно не изменилось.....

я не делаю никогда явного INSERT в талицу Table1
вместо этого делается UPDATE....
если такого ID нет то должна делаться вставка записи - есно new.id - имеет смысл в операторе Insert into Table1...
вопрос только почему реально вставки не происходит???
И еще может этого нельзя делать в on before update триггере??
а создать для этого процедуру? - хотя врядли


 
S@shka   (2004-06-07 13:36) [7]

Вопрос. снят :%)



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

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.054 c
9-1078058108
DM_A
2004-02-29 15:35
2004.07.04
Фонарь


1-1087886239
san
2004-06-22 10:37
2004.07.04
Grid с большой шапкой шапкой


1-1087538164
AngelSAI
2004-06-18 09:56
2004.07.04
Работа с рисунками


14-1087215146
D7
2004-06-14 16:12
2004.07.04
TextOut


1-1087909761
Magician
2004-06-22 17:09
2004.07.04
Как записать в одну яч. StringGrid несколько строк