DCo*_*kie 43
Oracle中的视图可以在特定条件下更新.它可能很棘手,通常是不可取的.
有关可更新视图的说明
可更新视图是可用于插入,更新或删除基表行的视图.您可以创建一个本质上可更新的视图,或者您可以在任何视图上创建一个INSTEAD OF触发器以使其可更新.
要了解是否可以修改固有可更新视图的列以及以何种方式修改,请查询USER_UPDATABLE_COLUMNS数据字典视图.此视图显示的信息仅对固有可更新视图有意义.要使视图本身可更新,必须满足以下条件:
此外,如果固有可更新视图包含伪列或表达式,则无法使用引用任何这些伪列或表达式的UPDATE语句更新基表行.
如果希望连接视图可更新,则必须满足以下所有条件:
WW.*_*WW. 10
Oracle有两种不同的方法可以更新视图: -
我会远离替代触发器并让您的代码直接更新基础表而不是通过视图.
有两种情况可以通过视图更新记录:
通常,除非您专门为视图编写了 INSTEAD OF 触发器,否则不应依赖于能够对视图执行插入操作。请注意,还可以编写 INSTEAD OF UPDATE 触发器来帮助执行更新。