[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中有子查询,创建时不会提示错误,但子查询中出现的表被创建后,视图不能恢复)。