有没有人有一个简单的示例来说明为什么要使用Oracle instead of trigger?
最佳答案
我见过几种不同的情况
1)使用初始数据模型构建系统,并提供一组视图供应用程序查询,这些视图只是与表的1:1映射。将来,如果您决定需要更改数据模型并将一个表拆分为两个不同的表,则可以通过保持视图层不变来做到这一点,而不会影响任何现有的应用程序。但是,为了使事情对应用程序透明,您必须继续在视图上允许导致插入到两个(或多个)不同表中的插入,您需要INSTEAD OF触发器。
2)#1的一种变体,您的应用程序开始时只是直接命中表格。当要重构表定义而不影响现有应用程序时,请重命名表(T变为T_OLD),创建新表,并使用INSTEAD OF触发器创建名为T的视图。这具有相同的效果-它使您可以更改表声明而无需更改应用程序。