![]() |
1
0
正如您所概述的,您需要在两个方向上进行约束检查:当机场更新时,确保国家/地区有效;当国家/地区更新时,您需要确保所有机场注册相对于更新的国家/地区范围仍然有效。 您可以通过带有函数的约束子句来实现这一点,但是,当您使用触发器时,您可以更好地控制逻辑。e、 在一个trigger函数中,您总是可以使用新旧行或值,因此如果时间范围没有改变,您可以轻松跳过检查。 要检查“另一面”,您必须在触发器函数中执行SQL查询。可以在外键列上添加索引(例如机场.国家)如果机场中有许多行,则加快查询速度。
https://www.postgresql.org/docs/12/plpgsql-trigger.html 有一个关于触发器函数的综合示例和文档。 |
![]() |
2
0
如果我答对了你的问题,也许这对你有帮助。
|
|
tggtsed · PostgreSQL从平均值中排除值 1 年前 |
![]() |
Dawid · 为什么我不能在子查询中使用表别名? 2 年前 |
![]() |
CraZyCoDer · 在PostgreSQL中锁定潜在事务 2 年前 |
![]() |
ranebec · 计数时如何返回0而不是null? 2 年前 |
![]() |
Flo · 分组依据中的SQL大小写 2 年前 |