`

关于ORACLE中CREATE VIEW 的时候用ORDER BY 和 WITH READ ONLY 的问题

 
阅读更多

今天建立视图时遇到如下问题。

 

按照如下方式建立报ora-00933错误:

 

CREATE OR REPLACE VIEW AREA_TOWN AS
SELECT a.area_name,a.cuid
FROM AREA a
ORDER BY a.area_name
WITH READ ONLY;

 

经过几次测试发现只要ORDER BY 和WITH READ ONLY同时出现就会报这个错。

 

后来在网上搜索了相关的信息,说是只需调整一下SQL的写法即可。如下:

CREATE OR REPLACE VIEW AREA_TOWN AS
SELECT area_name,cuid FROM (SELECT a.area_name,a.cuid
FROM AREA a
ORDER BY a.area_name)
WITH READ ONLY;

 

经过自己测试了一下,还真是这样,当然,上面的sql语句是网上的,我自己的语句就不发出来了,呵呵~

 

 

分享到:
评论
1 楼 dabing69221 2015-01-30  
不错 ,学习了 ,解决问题!!!

相关推荐

    Oracle创建视图(View)

    2.在没有WITH CHECK OPTION和 READ ONLY 的情况下,查询中不能使用ORDER BY 子句; 3.如果没有为CHECK OPTION约束命名,系统会自动为之命名,形式为SYS_Cn; 4.OR REPLACE选项可以不删除原视图便可更改其定义并...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...

    Oracle的基本命令

    以上内容涵盖了Oracle中关于数据库管理的一些基本命令,包括但不限于创建数据库对象、权限管理、表空间管理、视图管理、序列管理以及表操作等。这些命令是进行数据库日常管理和维护不可或缺的一部分。希望这些信息...

    Oracle数据库系统视频教程笔记

    `CREATE SEQUENCE myseq START WITH 1 INCREMENT BY 1 ORDER NOCYCLE` 创建了名为myseq的序列,初始值为1,每次递增1,有序且不循环。`NEXTVAL` 获取序列的下一个值,`CURRVAL` 获取当前值。 4. **触发器**:触发器...

    oracle从入门到精通.pdf

    - **创建与管理视图**:使用CREATE VIEW和DROP VIEW语句。 **2.6 序列** - **序列的使用**:自动递增的数字序列,常用于为主键赋值。 **2.7 索引** - **索引的作用**:加速数据检索速度。 - **不同类型的索引**...

    Oracle 11g学习资料大全pdf版本

    **2.1.5 Oracle 中的 CREATE TABLE AS 和 INSERT INTO SELECT 的使用** `CREATE TABLE AS` 和 `INSERT INTO SELECT` 都是创建新表的有效方法。前者根据查询结果创建表并插入数据,后者则向现有表中插入数据。 **...

    超详细Oracle教程.pdf

    - **排序与限制结果集**:学习ORDER BY子句和LIMIT子句的使用,掌握如何对查询结果进行排序和限制返回的行数。 #### 第四章 单行函数 - **字符串函数**:包括UPPER、LOWER、SUBSTR等函数的使用,用于处理字符串数据...

    Oracle sql 语句集锦

    根据给定的文件信息,以下是对Oracle SQL语句...以上是Oracle SQL语句集锦中的核心知识点,涵盖了数据定义、数据操纵、数据查询、事务控制、权限管理和流程控制等多个方面,对于理解和掌握Oracle数据库的使用至关重要。

    Oracle 常用命令举例.pdf

    根据提供的文档内容,本文将对Oracle数据库中的一些基础和进阶命令进行详细的解析与说明,主要包括%type与%rowtype的使用方法、自定义类型(TYPE)的定义与使用、游标的基本操作、流程控制语句(如for循环、loop循环等...

    超详细ORACLE培训带实例带书签目录

    通过一系列章节的学习,读者不仅可以掌握Oracle的基本操作,还能深入了解其架构和高级功能,从而更好地利用Oracle解决实际问题。 #### 第一章 数据库基础 - **数据库概述**:解释什么是数据库,数据库的作用及其...

    Oracle数据库基础教程:入门其实很简单

    - 创建视图:如何使用CREATE VIEW语句创建视图。 - 使用视图:视图在查询中的应用。 2. **约束**: - 主键约束:PRIMARY KEY的使用方法。 - 外键约束:FOREIGN KEY的使用方法。 - 唯一约束:UNIQUE约束的使用...

    ORACLE试题01[文].pdf

    4. 在CREATE VIEW命令中,防止通过视图更新基表的子句是WITH READ ONLY。 B、WITH READ ONLY 5. 对于重复度很高的列,适合使用位图索引来提高查询效率。 D、位图索引 6. 在PL/SQL出错处理部分,处理未指定错误的...

    Oracle8i_9i数据库基础

    §2.4.1 用 ORDER BY 子句来对结果进行排序 76 §2.4.2 用 BREAK 命令 来对结果进行排列 76 §2.4.3 用 COMPUTE 命令对结果进行格式化 79 §2.5 配置会话环境 82 §2.5.1 ARRAYSIZE(取回的行数) 82 §2.5.2 ...

    超详细Oracle教程

    - **排序与限制结果集**:使用ORDER BY和LIMIT对查询结果进行排序和限制。 #### 五、单行函数 - **字符串函数**:如UPPER、LOWER、CONCAT等。 - **数值函数**:如ROUND、TRUNC、MOD等。 - **日期时间函数**:如...

    数据库对象PPT学习教案.pptx

    [WITH CHECK OPTION] [WITH READ ONLY]; ``` 视图可以设置为只读,或者在更新时添加检查选项以确保数据一致性。删除视图的语句为: ```sql DROP VIEW viewName; ``` 学习这些数据库对象对于数据库管理和开发...

    数据库编程期末考试.docx

    使用`CREATE VIEW`语句可以创建一个只读视图,如`WITH READ ONLY`,这样用户就不能进行DML操作。视图的排序(`ORDER BY`)通常不保存在视图定义中,这意味着查询视图时需要再次指定排序。题目中的`CREATE VIEW`语句...

    超详细ORACLE培训实例

    - **查询条件与排序**:使用WHERE子句指定查询条件,利用ORDER BY进行结果排序。 - **聚合函数**:学习COUNT、SUM、AVG等聚合函数的使用。 #### 第四章 单行函数 - **字符函数**:介绍UPPER、LOWER、SUBSTR等字符...

    超详细Oracle教程 115页讲解以及例子

    - **排序与限制**:使用ORDER BY和LIMIT关键字对查询结果进行排序和限制。 #### 四、单行函数 - **字符串函数**:如UPPER、LOWER、SUBSTR等用于处理字符串数据。 - **数值函数**:如ROUND、MOD等用于数值计算。 - *...

    oracle入门基础教程全面详细

    - **排序与限制结果**:掌握ORDER BY子句和LIMIT子句的应用,实现结果排序和结果数量限制。 - **聚合函数**:介绍SUM、AVG、COUNT等聚合函数的使用方法。 #### 四、单行函数 - **字符函数**:学习UPPER、LOWER、...

    pl_sql基本语法例子.rar_SQL2569_oracle_pl/sql_plsql增删改查

    可以使用WHERE子句进行条件筛选,JOIN操作连接多个表,GROUP BY和HAVING子句进行分组筛选,ORDER BY进行排序。 3. 视图的使用: 视图是虚拟表,它是基于一个或多个表的SELECT查询结果。创建视图的语法是:`CREATE ...

Global site tag (gtag.js) - Google Analytics