9.2.4 创建没有源表的视图

在数据库开发过程中,如果设计工作做得很好,就可能出现在没有源表时先把视图创建出来的情况。因为根据设计,基表是肯定要建的。本小节介绍一下在没有源表的情况下创建一个新视图。

【示例4】创建没有源表的视图

没有源表时,使用正常方式创建视图会出现错误。演示脚本如下:


01 CREATE OR REPLACE VIEW NOTABLE_PRODUCTINFO_VIEW AS

02 SELECT PRODUCTID,PRODUCTNAME,PRODUCTPRICE,ORIGIN

03 FROM NOTABLE


【代码解析】

第3行里的表NOTABLE在Oracle中是不存在的。

【执行效果】

执行完成后会提示如下错误:


第3行出现错误:

ORA-00942:表或视图不存在


这里说明该视图创建不成功。假如利用FORCE关键词就可以避免这种情况,该关键词表示创建视图时,无视源表是否存在。

【示例5】强制创建没有源表的视图

强制创建没有源表的视图,把示例4的脚本修改如下:


01 CREATE OR REPLACE FORCE VIEW NOTABLE_PRODUCTINFO_VIEW AS

02 SELECT PRODUCTID,PRODUCTNAME,PRODUCTPRICE,ORIGIN

03 FROM NOTABLE


【执行效果】


警告:创建的视图带有编译错误。


如果出现以上提示,表示该视图已经创建。