Base table: Hr.tt scott.tt
View 1: Based on HR.TT UNION ALL scott.tt---"scott.ttt
View 2: Create system.tt based on view 1-"scott.ttt
Problem reproduction:
Sql> CREATE TABLE Hr.tt (a number);
Table created.
Sql> CREATE TABLE Lixora.tt (a number);
Table created.
Sql> CREATE VIEW scott.tt as SELECT * FROM HR.TT UNION ALL SELECT * from Lixora.tt;
View created.
Sql> CREATE VIEW system.tt as SELECT * from Scott.tt;
View created.
Sql> SELECT * from System.tt
A
----------
1
Update View 2:
sql> update system.tt set a=2;
Update SYSTEM.TT Set a=2
*
ERROR at line 1:
Ora-01733:virtual Column not allowed here
Update View 1:
sql> update scott.tt set a=2;
Update SCOTT.TT Set a=2
*
ERROR at line 1:
Ora-01732:data manipulation operation not legal in this view
sql>!oerr ora 1732
Ora-01733:virtual Column not allowed here Cause: An attempt is made to the use of an INSERT, UPDATE, or DELETE statement on an expression in a view. Action:insert, UPDATE, or DELETE data in the base tables, instead of the view. |
Summarize:
Cannot perform DML operation on view containing an expression
Ora-01733:virtual Column not allowed here