Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-23556
strel
2002-06-18 19:04
2002.07.08
Неясная ошибка при попытке использовании EXCEL (OLE object)


7-23804
Hewer
2002-04-15 10:45
2002.07.08
У кого глюк: у TreeView или у меня?


7-23811
ray_wagner
2002-03-28 23:09
2002.07.08
Блокировка клавы


1-23545
Дельфятник
2002-06-26 17:37
2002.07.08
Access Violation при работе с TComboBox.


1-23554
ProfiUgl
2002-06-26 08:37
2002.07.08
Копирование файла и ProgressBar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский