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 操作
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。