首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使MVW在表字段长度变化时生效?

如何使MVW在表字段长度变化时生效?
EN

Stack Overflow用户
提问于 2018-01-02 16:47:49
回答 1查看 198关注 0票数 0

我有一辆MVW,如下所示,这是一个现有的。

代码语言:javascript
复制
 CREATE MATERIALIZED VIEW ADS.MVW_AGREEMENT (AGR_ID,_AGR_NBR,SRC_DOC_CD,FNL_DOC_RECPT_DT,AGR_SRC_SYS_CD,UHG_REL_IND)
TABLESPACE ADSDATA
AS
SELECT sfa.agr_id,
       sfa.agr_nbr,
       sfa.src_doc_cd,
       sfa.fnl_doc_recpt_dt,
       sfa.agr_src_sys_cd,
       sfa.uhg_rel_ind
  FROM ADS.agreement sfa;

在协议表中,src_doc_id是varchar2(15)。现在,如果我需要将此字段长度更改为20。当我在表中这样做并尝试刷新MVW时,我将面临如下错误:

代码语言:javascript
复制
 ORA-12899: value too large for column
"ADS"."MVW_AGREEMENT"."src_doc_cd" (actual: 20, maximum:15)

你能指导我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-01-03 14:53:19

您需要发出一个alter materialized view来修改MV中的列,就像在基表中修改它一样。

简短的示例(您缺少的是第四行代码,根据您的情况进行调整):

代码语言:javascript
复制
create table t ( x varchar2(10) );
create materialized view v as select * from t;

alter table t modify ( x varchar2(20) );
alter materialized view v modify ( x varchar2(20) );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48057973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档