oracle 视图 大 如何,oracle – 在行表列大小更改后如何更改实例化视图列大小?...

如果更改表格,则还必须更改实体化视图.

--Create simple table and materialized view

create table test1(a varchar2(1 char));

create materialized view mv_test1 as select a from test1;

--Increase column width of column in the table

alter table test1 modify (a varchar2(2 char));

--Insert new value that uses full size

insert into test1 values('12');

--Try to compile and refresh the materialized view

alter materialized view mv_test1 compile;

begin

dbms_mview.refresh(user||'.MV_TEST1');

end;

/

ORA-12008: error in materialized view refresh path

ORA-12899: value too large for column "JHELLER"."MV_TEST1"."A" (actual: 2, maximum: 1)

ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2563

ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2776

ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2745

ORA-06512: at line 3

--Increase column width of column in the materialized view and refresh

alter materialized view mv_test1 modify (a varchar2(2 char));

begin

dbms_mview.refresh(user||'.MV_TEST1');

end;

/

select * from mv_test1;

A

--

12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值