SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » PostgreSQL » Заморочки с триггерами
Заморочки с триггерами [сообщение #5831] Wed, 18 December 2024 12:27
DaniilGray в настоящее время не в онлайне  DaniilGray
Сообщений: 19
Зарегистрирован: October 2024
Junior Member
Сейчас в таблице одной транзакцией обновляются два столбца (1й и 2й).
Есть триггер, отслеживающий изменение одного (1й) из них и запускающий обновление ещё двух столбцов (3й и 4й), при 3й рассчитывается по 1му, а 4й по 2му.
Если создать два триггера, для 1го и 2го столбцов отдельно, то, по идее, получим две стартовавшие одновременно транзакции, одна из которых будет заполнять 31, а вторая - 4й столбцы.
А не потрёт ли выполнившаяся позже транзакция итоги завершившейся позже?

И могу ли я в теле триггера указать столбцы, после изменения которых он должен запускаться, через OR?
Типа так:

CREATE OR REPLACE TRIGGER check_update
   BEFORE UPDATE OF (balance or balance) ON accounts
   FOR EACH ROW
   EXECUTE FUNCTION check_account_update();

Или Хаос с этими триггерами и создать вычисляемые столбцы?
Предыдущая тема: Ошибка кода
Переход к форуму:
  


Текущее время: Sat Dec 21 21:11:20 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00557 секунд