отложить или перегруппировать триггеры при вставке SQL - PullRequest
0 голосов
/ 03 ноября 2019

Давайте получим структуру из двух таблиц:

+------------+   +------------+
+ 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-сервера.

...