Начало » Использование СУБД » PostgreSQL » Заморочки с триггерами
Заморочки с триггерами [сообщение #5831] |
Wed, 18 December 2024 12:27 |
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();
Или Хаос с этими триггерами и создать вычисляемые столбцы?
|
|
|
Переход к форуму:
Текущее время: Wed Dec 18 22:44:36 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00896 секунд
|