ALTER VIEW

说明

使视图生效,重新编译

语法

alter_user ::=

参数

viewname

视图名称

示例

--  当视图无效时,使用compile重新编译
drop table t1 cascade;
drop view v1 cascade;
create force view v1 as select * from t1;


SELECT COUNT(*) FROM SYS_DEPEND_INVALID;--有数据存在
COUNT(int)      |
----------------
1               |
总数目:1

select RELNAME, RELFLAGS from sys_class where relname = 'V1';--对象创建成功,且为无效
RELNAME(name)      |RELFLAGS(tinyint)      |
------------------------------------------
V1                 |2                      |
总数目:1

create table t1(a int);
insert into t1 values (1);

alter view v1 compile;--使视图生效。重新编译


SELECT COUNT(*) FROM SYS_DEPEND_INVALID;--删除数据,结果为0
COUNT(int)      |
----------------
0               |
总数目:1

select RELNAME, RELFLAGS from sys_class where relname = 'V1';--对象存在,且为有效
RELNAME(name)      |RELFLAGS(tinyint)      |
------------------------------------------
V1                 |0                      |
总数目:1

drop table t1 cascade;
drop view v1 cascade;