基表: 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 操作

ORA-01733: virtual column not allowed here的更多相关文章

  1. [oracle 11g 新特性] virtual column虚拟列

    总结:虚拟列可以使用于一些特殊场合,实质是类似于函数列(即以 表中已有的列 经过函数运算得来),“虚拟列不存储在数据库中,是在执行查询时由oracle后台计算出来返回给用户”,因此虚拟列不会增加存储空 ...

  2. Oracle 11g 虚拟列 Virtual Column介绍

    Oracle 11G 虚拟列 Virtual Column Oracle 11G 在表中引入了虚拟列,虚拟列是一个表达式,在运行时计算,不存储在数据库中,不能更新虚拟列的值. 定义一个虚拟列的语法: ...

  3. virtual column make sqlserver using function index

    In sqlserver, it is impossible that if we want to create an function index. Doesn`t means we can not ...

  4. 【转】Oracle virtual column(虚拟列)

    为什么要使用虚拟列 (1)可以为虚拟列创建索引(Oracle为其创建function index) (2)可以搜集虚拟列的统计信息statistics,为CBO提供一定的采样分析. (3)可以在whe ...

  5. 解决Oracle ORA-00984: column not allowed here

    某列是字符列,结果忘记加单引号了 INSERT INTO prt_document_present (company_code, doc_no, seq_no, field_name, desc_ms ...

  6. Oracle ORA-00984: column not allowed here

    ORA-00984错误: 列在此处不允许当数据以char的形式存在时,应加单引号,则插入数据库就不会出现类似错误.

  7. Oracle数据库基本操作(二) —— 视图、序列、索引、同义词

    一.视图(Views)与 同义词 1.视图:实际上是对查询结果集的封装,视图本身不存储任何数据,所有的数据都存放在原来的表中; 在逻辑上可以把视图看作是一张表 2.作用: 封装查询语句,简化复杂的查询 ...

  8. oracle入门(二)

    ### 一,视图 ```1. 什么是视图    视图是一张虚表, 可以把视图看成表使用(增删改查),视图中没有数据,所有的数据都在基本表中(tables)    封装了一个复杂的DQL    操作视图 ...

  9. MySQL 5.7新特性之Generated Column(函数索引)

    MySQL 5.7引入了Generated Column,这篇文章简单地介绍了Generated Column的使用方法和注意事项,为读者了解MySQL 5.7提供一个快速的.完整的教程.这篇文章围绕 ...

随机推荐

  1. CRM实施中应避免的5大问题

    越来越多的人认识到,杂乱的客户信息应该统一管理.曾经人们用excel表格甚至是纸笔来记录客户信息,可是假设想知道这个客户我们销售接触过几次?邮件里都谈了什么?在线客服都和客户聊了什么?报价单发的啥价格 ...

  2. java 微信server录音下载到自己server

    /** * @author why * */ public class VoiceDownload { /** * * 依据文件id下载文件 * * * * @param mediaId * * 媒体 ...

  3. iOS-为方便项目开发在pch加入一些经常使用宏定义

    1.关于NSLog输出 /** * 当Xcode为Release时不输出,为Debug时输出 * * @param ... * * @return */ #ifndef __OPTIMIZE__ #d ...

  4. QT 随笔

     1. 设置窗体属性,无边框 | 置顶 setWindowFlags(Qt::FramelessWindowHint); setWindowFlags(Qt::FramelessWindowHin ...

  5. linux下安装redis3.2

    这部分来自网络: http://blog.csdn.net/cuibruce/article/details/53501532 1.下载 下载地址:http://www.redis.io/downlo ...

  6. eclips 手机 offline

    [退出eclipse] [进入eclipse的工作区间] [删除 .metadata文件夹,确保 .metadata文件夹得隐藏文件也要删除] [重启eclipse,并重新导入你的工程]

  7. FFMpeg在Windows下搭建开发环境【转】

    本文转载自:http://blog.csdn.net/wootengxjj/article/details/51758621 版权声明:本文为博主原创文章,未经博主允许不得转载. FFmpeg 是一个 ...

  8. 0x27 A*

    终于完全了解A*到底是什么玩意儿了 对于当前的决策,选取当前花费+预估花费最小来拓展. 因为假如预估出现失误,那么很可能就会延伸到一个错误的决策点,而这个决策点偏偏就是ed,而由于预估失误,其他点的当 ...

  9. DBS-MySQL:MYSQL获取自增ID的四种方法

    ylbtech-DBS-MySQL:MYSQL获取自增ID的四种方法 1.返回顶部 1. 1. select max(id) from tablename 2.SELECT LAST_INSERT_I ...

  10. Sort和UnSort的小技巧

    Sort和UnSort的小技巧: 记录sortidx,对sortidx再从小到大排序就可以得到用于还原的unsortidx. 对于序列A: sort_idx = np.argsort(A) un_so ...