ORA-01733: virtual column not allowed here
基表: 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的更多相关文章
- [oracle 11g 新特性] virtual column虚拟列
总结:虚拟列可以使用于一些特殊场合,实质是类似于函数列(即以 表中已有的列 经过函数运算得来),“虚拟列不存储在数据库中,是在执行查询时由oracle后台计算出来返回给用户”,因此虚拟列不会增加存储空 ...
- Oracle 11g 虚拟列 Virtual Column介绍
Oracle 11G 虚拟列 Virtual Column Oracle 11G 在表中引入了虚拟列,虚拟列是一个表达式,在运行时计算,不存储在数据库中,不能更新虚拟列的值. 定义一个虚拟列的语法: ...
- 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 ...
- 【转】Oracle virtual column(虚拟列)
为什么要使用虚拟列 (1)可以为虚拟列创建索引(Oracle为其创建function index) (2)可以搜集虚拟列的统计信息statistics,为CBO提供一定的采样分析. (3)可以在whe ...
- 解决Oracle ORA-00984: column not allowed here
某列是字符列,结果忘记加单引号了 INSERT INTO prt_document_present (company_code, doc_no, seq_no, field_name, desc_ms ...
- Oracle ORA-00984: column not allowed here
ORA-00984错误: 列在此处不允许当数据以char的形式存在时,应加单引号,则插入数据库就不会出现类似错误.
- Oracle数据库基本操作(二) —— 视图、序列、索引、同义词
一.视图(Views)与 同义词 1.视图:实际上是对查询结果集的封装,视图本身不存储任何数据,所有的数据都存放在原来的表中; 在逻辑上可以把视图看作是一张表 2.作用: 封装查询语句,简化复杂的查询 ...
- oracle入门(二)
### 一,视图 ```1. 什么是视图 视图是一张虚表, 可以把视图看成表使用(增删改查),视图中没有数据,所有的数据都在基本表中(tables) 封装了一个复杂的DQL 操作视图 ...
- MySQL 5.7新特性之Generated Column(函数索引)
MySQL 5.7引入了Generated Column,这篇文章简单地介绍了Generated Column的使用方法和注意事项,为读者了解MySQL 5.7提供一个快速的.完整的教程.这篇文章围绕 ...
随机推荐
- mysql基础综述(四)
1.数据库的简单介绍 1.1 数据库,就是一个文件系统,使用标准sql对数据库进行操作 1.2 常见的数据库 oracle 是oracle公司的数据库,是一个收费的大型的数据库 DB2,是IBM公司 ...
- 关于ZipOupputStream添加压缩包常见问题
其实园子压缩解压缩的方法很多,ZipOupputStream这个类的说明很多,我这边也是从网上找的代码,但是我在压缩的时候遇到了常见的两个问题,第一个就是压缩的时候读取压缩包报该压缩包已经在另一个进程 ...
- 学艺不精而惭愧--论C++模板类的使用
自己断断续续地使用C++也有一段时间了.有些时候产生了自满的情绪.觉得自己对C++的语言特性已经知道的几乎相同了,在语法方面没有什么难倒我的地方了,如今所要做的是依据实际问题编敲代码,问题的难点在于算 ...
- java基础——各种变量你晕了不?
java 中的变量大致分为 成员变量 和 局部变量 两大类. 成员变量: 在类体里面定义的变量称为成员变量. 假设该成员变量有 static keyword修饰.则该成员变量称为 静态 ...
- iOS 权限判断 跳转对应设置界面
相机权限 1.1 使用说明 在合适的地方导入#import <AVFoundation/AVFoundation.h> 使用AVAuthorizationStatus类获取当前权限状态 在 ...
- Vmware 安装samba
samba是什么samba是什么?能干什么? samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标.SMB是一种Linux. ...
- 27.Qt时钟
myclock.h #ifndef MYCLOCK_H #define MYCLOCK_H #include <QObject> #include <QLCDNumber> # ...
- BZOJ 4184 线段树+高斯消元
思路: 线段树表示的是时间 每回最多log个段 区间覆盖 一直到叶子 的线性基 xor 一下 就是答案 一开始没有思路 看了这篇题解 豁然开朗 http://www.cnblogs.com/joyou ...
- synchronized同步机制,修饰类和修饰对象的区别
synchronized用法 synchronized修饰的对象有几种: 修饰一个类:其作用的范围是synchronized后面括号括起来的部分,作用的对象是这个类的所有对象: 修饰一个方法:被修饰的 ...
- 从零开始学习SVG
1 什么是SVG? MDN中的定义是:SVG即可缩放矢量图形(Scalable Vector Graphics,SVG),是一种用来描述二维矢量图形的 XML 标记语言. 简单地说,SVG 面向图形, ...