Oracle-扩大数组定义

时间:2019-01-10 09:38:57

标签: sql oracle oracle12c

我已经在Oracle数据库12c中定义了自定义类型。

create or replace type integer_varray as varray (4000) of int;

现在我意识到我在那里需要超过4000条记录,因此我想将此定义扩展到5000条而不会丢失这些数组中已经存在的所有数据。

有可能吗?怎么样?

编辑:用法就像

create table capacities
(
  id       int generated by default as identity (START WITH 1000000) not null
  ... other fields
  capacity integer_varray                                            not null
);

1 个答案:

答案 0 :(得分:4)

是的,您可以将ALTER TYPE .. MODIFY LIMITCASCADE选项一起使用

ALTER TYPE integer_varray  MODIFY LIMIT 5000 CASCADE;

Demo