我们的生产数据库已经有5-7年的历史了,在此期间,许多人都在使用它进行模式修改。我刚刚发现在我们的一些视图上有Instead Of触发器。我甚至不知道这是可能的。对于那些使用视图上的Instead of触发器的人来说,您试图解决哪些用例?考虑到这样做的可维护性,我很难看到这样做的好处。
非常感谢。
发布于 2010-02-04 04:11:01
我没有使用过它们,但我认为它们的主要用途是允许在视图上执行INSERT/UPDATE语句,并让这些语句实际插入/更新视图下可能存在的多个表。
发布于 2010-02-04 05:04:59
我使用它们来提供一个模式,该模式与现有应用程序期望查找的表兼容,但实际上是在完全不同的模式上执行操作。这是将一个bug跟踪数据库系统集成到一个具有现有用户成员系统的数据库中。因此,bug跟踪系统希望找到的users表被伪装成视图,并实现了INSTEAD OF触发器,以对已存在的成员系统进行更改。
发布于 2010-02-04 04:17:00
如果你分享了代码,我们可能会猜到你的用例。除了Chris Shaffer所说的,这些可能是为了强制执行特定的数据完整性要求(尽管老实说,我希望这些要求出现在表中,而不是视图中),或者向用户通常不知道的字段添加信息。
https://stackoverflow.com/questions/2195058
复制相似问题