欢迎投稿

今日深度:

ORA-01733:virtualcolumnnotallowedhere

ORA-01733:virtualcolumnnotallowedhere


基表: hr.tt scott.tt
视图1: 基于 hr.tt union all scott.tt ---》 scott.ttt
视图2: 基于 视图1-》scott.ttt 创建 system.tt


问题再现:
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


更新视图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


更新视图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 on this view


SQL> !oerr ora 1732

ORA-01733: virtual column not allowed here
Cause: An attempt was made to use 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.

 

总结:

无法对包含表达式的view 进行dml 操作

www.htsjk.Com true http://www.htsjk.com/oracle/23169.html NewsArticle ORA-01733:virtualcolumnnotallowedhere 基表: hr.tt scott.tt 视图1: 基于 hr.tt union all scott.tt ---》 scott.ttt 视图2: 基于 视图1-》scott.ttt 创建 system.tt 问题再现: SQL create table hr.tt (a number);Table creat...
相关文章
    暂无相关文章
评论暂时关闭