ORA-01776: cannot modify more than one base table through a join view ORACLE 报错 故障修复 远程处理
文档解释
ORA-01776: cannot modify more than one base table through a join view
Cause: Columns belonging to more than one underlying table were either inserted into or updated.
Action: Phrase the statement as two or more separate statements.
详细说明:
ORA-01776:表示不能通过联接视图更改一个以上的基表。
官方解释
当使用一个联接视图更新/删除一个以上的基表时,ORACLE将报出ORA-1776错误。
常见案例
imagine that you have created a join view and when you attempt to update a row, Oracle will issue the following error:
SQL> update myview set col1 = 3;
ERROR at line 1:
ORA-01776: cannot modify more than one base table through a join view
正常处理方法及步骤
1. 将要更新/删除的多个查询分解成几个单独的UPDATE/DELETE查询,每个查询只涉及一个基表。
2.使用INSTEAD OF创建联接视图。视图上的触发器可以完成多表更新作业。