日期:2014-05-16  浏览次数:20521 次

关于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语句是网上的,我自己的语句就不发出来了,呵呵~

?

?