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
【执行效果】
警告:创建的视图带有编译错误。
如果出现以上提示,表示该视图已经创建。