我有以下情况。一个主表和许多其他表通过外键链接在一起。现在,当我想删除主表中的一行时,将会发生 ConstraintsViolation,这是有意且良好的。
现在我希望能够在触发删除行事件之前检查 ConstraintsViolation 是否会发生。
这可能吗?
这个问题表面上看起来不错,但其实有一定的含义。
首先,您需要确保在读取这些关系的状态后,没有人可以更改它们,因此显然您需要使用事务并锁定有问题的行。
然后您需要一种方法来找出要检查的关系,正如我在此处的评论中看到的那样,您的问题是如果有人稍后添加新关系会发生什么。因此,您需要查询架构,或者可能从架构自动生成此代码,以便检测机制只需要在每次更改架构时运行。
现在,经过这次磨难之后,您获得的例外真的看起来那么昂贵吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)