Oracle中建立物化视图报错
今天在建立视图的时候,报了一个错:ORA-01723: zero-length columns are not allowed。
建视图的语句:
- create
- materialized
- view VW_XX
- refresh force on demand
- as
- select '' f_a,b f_b from xx
根据后面的语句创建视图,都是可以的,但是根据查询语句创建物化视图就出现错误了。网上找了一下,原因是:ORA-01723是ORACLE规定因为列的长度最小应该是1。
物化视图和视图类似,反映的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图。
解决办法:把sql中的‘’替换成 CAST(null AS VARCHAR2(10))即可。
- create
- materialized
- view VW_XX
- refresh force on demand
- as
- select CAST(null AS VARCHAR2(2)) f_a,b f_b from xx

![[Oracle] instant client 21 和 PLSQL Developer 14 安装](https://img-blog.csdnimg.cn/3ff9cfd24e374d35ae37c8f31b170cad.png?x-oss-process=image/resize,m_fixed,h_300,image/format,png)


