我正在尝试在我的数据库中创建一个表名“title”,其中有两个名为“lower_bound”和“upper_bound”的字段。我想在其上创建一个触发器,例如在尝试添加连续范围时,会自动将其附加到上一行。例如,考虑我们在此表中有两行,如下所示:
id | lower_bound | upper_bound
------------------------------
1 | 10 | 20
------------------------------
2 | 50 | 70
------------------------------
我想要的是,如果我插入一个包含以下值的行:
lower_bound = 21
upper_bound = 30
我没有插入此行,而是将其附加到第一行并更新其字段,如下所示:
id | lower_bound | upper_bound
------------------------------
1 | 10 | 30
------------------------------
2 | 50 | 70
------------------------------
触发器可以实现吗?
我的解决方案是我使用BEFORE INSERT触发器并执行我的需求检查,如果它是可更新的,那么我更新我的行。
有两个问题:
答案 0 :(得分:1)
您可以更改架构吗?实现两个表:low_bound和high_bound通过键相互引用。在两个表的连接上创建实例化视图。在实现视图的物化视图上创建一个before insert触发器,并根据需要更新low_bound和high_bound。