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

Вниз

Update   Найти похожие ветки 

 
Ш-К   (2002-06-18 09:33) [0]

Имеется таблица, в ней около 100 столбцов. Как мне определить в теле триггера на after update какая ячейка и в какой из строк модифицировалась.


 
Mike_Goblin ©   (2002-06-18 09:46) [1]

Триггер, насколько мне помнится, вызывается для каждой строки
Для столбцов есть конструкция New.<имя столбца>, OLD.<имя столбца>, содержащие старые и новые значения

PS. 100 столбцов - это что же такое там хранится


 
Ш-К   (2002-06-18 10:16) [2]

Просто имеется структура 100х100 (представляю её таблицей). И мне надо определить в триггере (желательно в триггере), какая ячейка модифицировалась.
И как через New.<имя столбца>, OLD.<имя столбца>?


 
Alexandr ©   (2002-06-18 10:19) [3]

if (new.fieldName<>old.fieldname) then


 
Ш-К   (2002-06-18 10:21) [4]

2 Alexandr © (18.06.02 10:19)
И так 100 раз?


 
Alexandr ©   (2002-06-18 10:28) [5]

конечно.
Чудес-то не бывает


 
Desdechado ©   (2002-06-18 10:30) [6]

будет больше колонок, будет больше 100 раз :)
по-другому никак


 
Ш-К   (2002-06-18 10:32) [7]

Ну хорошо, я могу написать для каждого столбца проверку, тем более, что обработка для каждого разная.
А как быть со строкой?


 
Alexandr ©   (2002-06-18 10:38) [8]

какой строкой?


 
Ш-К   (2002-06-18 10:40) [9]

Таблица меняется - хочу определить строку по ключевому полю, которая изменилась.


 
Alexandr ©   (2002-06-18 10:47) [10]

дык триггер и сработает на "строке которая изменилась", ну хочешь заведи еще одно поле, в которое этим же триггером пиши дату изменения.
P.S. а триггер должен быть before Update


 
Ш-К   (2002-06-18 10:59) [11]

Не вьехал.
Допустим таблица имеет поля: keyfild - integer и notkeyfild - float.
В записи с keyfild=51 меняем поле notkeyfild. (из клиента)
Теперь как в триггере before Update определить, что keyfild=51. Это значение нужно передать в ХП.


 
Alexandr ©   (2002-06-18 11:03) [12]

old.keyField
или оно же
new.keyField


 
Ш-К   (2002-06-18 11:07) [13]

Да, что-то я лоханулся.

СЕНКС.


 
Ш-К   (2002-06-18 11:15) [14]

Теперь вопрос в догонку.

Тело триггера, что-то типа:

if (new.field1<>old.field1) then SP1(new.id);
if (new.field2<>old.field2) then SP2(new.id);
if (new.field3<>old.field3) then SP3(new.id);
if (new.field4<>old.field4) then SP4(new.id);
if (new.field5<>old.field5) then SP5(new.id);
........
if (new.fieldN<>old.fieldN) then SPN(new.id);

Т.е. имеется закономерность в названии полей и закономерность в названии ХП.
Можно ли это дело как-нить оптимизировать? Скажем, в цикле.



 
Desdechado ©   (2002-06-18 11:20) [15]

увы :(



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
14-23777
Bor
2002-06-08 13:38
2002.07.08
ПОМОГИТЕ!!!!!!


14-23766
Val
2002-06-07 13:25
2002.07.08
ваши мысли по поводу?


14-23732
Anonim
2002-06-05 22:29
2002.07.08
Глюки...


1-23542
putim
2002-06-26 17:17
2002.07.08
вопрос


7-23803
ATLANTIDO
2002-04-15 20:40
2002.07.08
Что такое