ora-01445:无法从不带保留关键字的表的连接视图中选择ROWID或采样

今天在对视图进行查询时,查询中带有rowid字段,结果报错:

做了两张简单的表测试:STUDENT,CLASS

1、创建表

create table STUDENT

(

sno   NUMBER,

sname VARCHAR2(32)

)

-----------------------------------

create table CLASS

(

cno   NUMBER not null,

sno   NUMBER not null,

cname VARCHAR2(32)

)

2、创建一个视图

create or replace view stu_class_v as

select s.sno, s.sname, c.cno, c.cname

from student s, stu_class c

where s.sno = c.sno

3、对视图进行查询

select rowid, sno From stu_class_v

这时就会报出如上错误

因为新建的两张表,主表和从表都没有设置对应的主键,这里对STUDENT表添加主键,再对视图进行查询,查询正常

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-24 09:24:41

ora-01445:无法从不带保留关键字的表的连接视图中选择ROWID或采样的相关文章

TCP连接探测中的Keepalive和心跳包. 关键字: tcp keepalive, 心跳, 保活

1. TCP保活的必要性 1) 很多防火墙等对于空闲socket自动关闭 2) 对于非正常断开, 服务器并不能检测到. 为了回收资源, 必须提供一种检测机制. 2. 导致TCP断连的因素 如果网络正常, socket也通过close操作来进行优雅的关闭, 那么一切完美. 可是有很多情况, 比如网线故障, 客户端一侧突然断电或者崩溃等等, 这些情况server并不能正常检测到连接的断开. 3. 保活的两种方式: 1) 应用层面的心跳机制 自定义心跳消息头. 一般客户端主动发送, 服务器接收后进行回

SQL Server 保留关键字

Microsoft SQL Server 2005 使用保留关键字来定义.操作或访问数据库.保留关键字是 SQL Server 使用的 Transact-SQL 语言语法的一部分,用于分析和理解 Transact-SQL 语句和批处理.尽管在 Transact-SQL 脚本中使用 SQL Server 保留关键字作为标识符和对象名在语法上是可行的,但规定只能使用分隔标识符. 下表列出了 SQL Server 保留关键字. ADD EXCEPT PERCENT ALL EXEC PLAN ALTE

JavaScript 保留关键字

JavaScript 保留关键字 在 JavaScript 中,一些标识符是保留关键字,不能用作变量名或函数名. JavaScript 标准 所有的现代浏览器完全支持 ECMAScript 3(ES3,JavaScript 的第三版,从 1999 年开始). ECMAScript 4(ES4)未通过. ECMAScript 5(ES5,2009 年发布),是 JavaScript 最新的官方版本. 随着时间的推移,我们开始看到,所有的现代浏览器已经完全支持 ES5. JavaScript 保留关

【】?保留关键字

JavaScript 标准 所有的现代浏览器已经完全支持 ES5(ECMAScript 5). JavaScript 保留关键字(keyword) Javascript 的保留关键字(标识符)不可以用作变量.标签或者函数名.有些保留关键字是作为 Javascript 以后扩展使用. abstract arguments boolean break byte case catch char class* const continue debugger default delete do doubl

Access保留关键字

下面附上access的保留关键字......  -A     ADD     ALL     Alphanumeric     ALTER     AND     ANY     Application     AS     ASC     Assistant       AT     AUTOINCREMENT     Avg-B     BETWEEN     BINARY     BIT     BOOLEAN     BY     BYTE-C     CHAR, CHARACTER  

数据库保留关键字

在 SuperMap 中创建表(如属性表.数据集等)和字段的时候,对字段名称和数据集的名称有一定的限制: 由汉字.字母.数字和下划线组成,但不能以数字.下划线开头. 名称长度不得为0,也不得超过30个字节(即30个英文字母或者15个汉字). 不能有非法字符,除数字.字母.汉字.下划线以外的所有字符,如空格.括号等. 不能与各个数据库的保留字段冲突. Oracle .SQL Server 等数据库均有一些保留的关键字,在 SuperMap 中创建表和字段的时候,表名和字段名都不能使用这些关键字.现

javascript保留关键字

1.通用保留关键字 break delete function return typeof case do if switch var catch else in this void continue false instanceof throw while debugger finally new true with default for null try   2.ECMAScript 5 增加保留 class const enum export extends import super  

access的保留关键字

access的保留关键字  -A     ADD     ALL     Alphanumeric     ALTER     AND     ANY     Application     AS     ASC     Assistant       AT     AUTOINCREMENT     Avg-B     BETWEEN     BINARY     BIT     BOOLEAN     BY     BYTE-C     CHAR, CHARACTER     COLUMN 

@+保留关键字当标识

有时我们需求使用一些保留字来当变量或属性,如checked, public bool checked{get;set;}   此时,会报checked错误 只需在前面增加@,修改为以下即可  public bool @checked{get;set;}   C# 规范中, @可以作为标识符(类名.变量名.方法名等)的第一个字符,以允许C# 中保留关键字作为自己定义的标识符.