| Начало » Использование СУБД » 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();
 
 Или Хаос с этими триггерами и создать вычисляемые столбцы?
 |  
	|  |  |  
	|  |  
	|  | 
 
 
 Текущее время: Fri Oct 31 16:04:16 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00836 секунд |