[LightDB]Oracle模式FORCE VIEW

支持的版本:24.1

背景:

  Oracle中,如果用于创建视图的视图或表,对象等不存在,可以通过FORCE VIEW语法进行预创建,之后相关的对象创建好后,通过FORCE view创建的视图自动恢复。

  在LightDB 24.1开始,提供了对FORCE VIEW的部分支持。

 

  示例:

  1,创建视图

  

lightdb@oradb=# create force view v as select a from t;
NOTICE:  force create: public.v
CREATE VIEW

  2,创建表

  

lightdb@oradb=# create table t(a int);
CREATE TABLE

  3,查询视图

lightdb@oradb=# insert into t(a) values(1);
INSERT 0 1
lightdb@oradb=# select * from v;
 a
---
 1
(1 row)

  

注意:

  1,通过force view创建的视图,在视图未恢复之前,无论是导出,还是\d+,或查询操作,视图均作不存在处理。

  2,当前force view仅支持基于视图或表对象的简单查询关系时可创建成功(只支持表名,视图名出现在from中,不支持join,子查询,不支持函数,若where中有子查询,创建时不会提示错误,但子查询中出现的表被创建后,视图不能恢复)。

  

 

posted on 2024-01-11 13:42  aodb  阅读(14)  评论(0编辑  收藏  举报