ORA-01776: cannot modify more than one base table through a join view

文档解释

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创建联接视图。视图上的触发器可以完成多表更新作业。

你可能感兴趣的