Как создать триггер SQL для сравнения и приращения в каскадном значении - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть база данных с двумя таблицами.Каждая таблица связана между собой ключом.Мой план состоит в том, чтобы создать триггер, способный каскадно обновлять все значения столбца, когда элемент был вставлен / изменен / удален.

В таблице 1 есть ключ идентификатора.Каждый кортеж из Table2 имеет foreignkey_table1 и значение в столбце.

Пользователь вставляет новый элемент в Table2.foreignkey_table1 & Table2.value

После вставки / изменения / удаления каждая строка Table2.foreignkey = Table1.id будет сравниваться с новым /old.value

Если значение больше, чем элемент, уже находящийся в столбце, перейдите к следующему элементу или, если нет элемента для сравнения, просто вставьте / измените / удалите элемент.

Если new.old.value равно сравниваемому элементу, триггер должен обновить все значения, равные и превышающие следующие значения.

Пример:

Table2.foreignkey = Table1.key
Table2.value where foreignkey_table1=id has these values [3,6,8,9]
Insert new.value = 6 then = [3,6,7,8,9]
Delete old.value = 6 then = [3,6,7,8]

Основное ограничение заключается в том, чтозначение не должно дублироваться, если Table2.foreignkey = Table1.key.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...