关于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;

 

经过自己测试了一下,还真是这样。

你可能感兴趣的:(oracle,sql,测试)