Страница 1 из 1
Триггер на изменение.
Добавлено: 18 июн 2020, 13:04
imamverdiyeveldar
Добрый день, создал триггер на "insert". Все хорошо. А как сделать так чтобы при изменении данных , также происходило изменение полей. добавил второй триггер на "update" тогда все ломается. точнее все данные в конечной таблице меняются на значение последней добавленной записи...
Код: Выделить всё
BEGIN
INSERT INTO app_entity_141 Set field_1402 = new.field_1305, field_1397 = new.field_1304, field_1393 = new.field_1297, field_1394 = new.field_1330, field_1403 = new.field_1331, field_1395 = new.field_1333, field_1396 = new.field_1334;
END
Re: Триггер на изменение.
Добавлено: 19 июн 2020, 04:00
Евгений
Нужно задать условие для UPDATE, чтобы оператор обрабатывал только одну запись:
where id = ...
какую именно запись вам нужно изменять?
Re: Триггер на изменение.
Добавлено: 19 июн 2020, 07:33
imamverdiyeveldar
Евгений писал(а): 19 июн 2020, 04:00
какую именно запись вам нужно изменять?
Спасибо большое. Разобрался.
Re: Триггер на изменение.
Добавлено: 19 июн 2020, 08:08
support
Используйте поле "Связанные сущности" чтобы связать "Движение" с любыми другими сущностями. С помощью автоматизации можно создавать и обновлять связанную запись.
Re: Триггер на изменение.
Добавлено: 19 июн 2020, 08:22
imamverdiyeveldar
support писал(а): 19 июн 2020, 08:08
Используйте поле "Связанные сущности" чтобы связать "Движение" с любыми другими сущностями. С помощью автоматизации можно создавать и обновлять связанную запись.
когда я создаю ту или иную автоматизацию - очень часто наблюдаю "белый экран" и система начинает "тормозить". в автоматизации добавление ок (выполнить действие при создании записи), а вот изменение надо делать все таки вручную (можно забыть нажать на кнопку - потом ищи-свищи). и еще автоматизация не умеет удалять запись. а триггеры умеют насколько мне известно. поэтому решил так попробовать. вдруг получится.
а знаете все из-за чего? из-за того что отчеты в системе Руководитель строго связаны с сущностью. Чтобы сделать отчет где будут отражены записи из нескольких сущностей приходится делать вот так

Re: Триггер на изменение.
Добавлено: 19 июн 2020, 08:44
support
Ну, если есть опыт, сделайте отдельную страничку
https://docs.rukovoditel.net.ru/index.php?p=71
напишите там union запрос из нескольких сущностей и отобразите то что вам надо.
Re: Триггер на изменение.
Добавлено: 19 июн 2020, 08:59
imamverdiyeveldar
конечно же опыта нет, иначе я бы не писал тут больше всех))
а вот триггеры вроде как должны помочь если они умеют (копировать записи, редактировать их если редактировалось в исходной, и удалять записи если запись удалилась в исходной)
Re: Триггер на изменение.
Добавлено: 19 июн 2020, 09:45
imamverdiyeveldar
Сергей, смог сделать через триггеры (копирование, изменение, удаление) все ок. НО не срабатывают фильтры. не быстрые не обычные фильтры. опять же открываю запись, редактирую, сохраняю - то срабатывает. Почемууу

Re: Триггер на изменение.
Добавлено: 19 июн 2020, 11:20
support
Потому что фильтры работают с таблицей app_entity_X_values. У каждой сущности своя такая.
Значения списков и т.д хранятся там.