Давайте получим структуру из двух таблиц:
+------------+ +------------+
+ Parent + + Child +
+------------+ +------------+
+ - id + + - id +
+ - label + + - idparent +
+ - computed + + - label +
+------------+ +------------+
Для каждого INSERT или DELETE в таблице Child
поле computed
его родительской строки в таблице Parent
.
Я создал триггер для вставки, обновления, удаления в таблице Child
для обновления поля computed
родителя.
Pro's: поле computed
постоянно обновляется, независимо от того,обновляет базу данных
Con: в случае нескольких модификаций для одного и того же родителя ее поле computed
обновляется много раз, в то время как требуется только одно (последнее вхождение).
Понятновозможность решить это программно в приложении, используя базу данных, без триггеров. Но существует риск непостоянства базы данных.
Любое предложение?
PS: база данных H2, поэтому java является языком программирования, даже для триггеров, и набор SQL можетотличаться от Oracle, MySQL или SQL-сервера.