Oracle - увеличить определение массива - PullRequest
0 голосов
/ 10 января 2019

Я определил пользовательский тип в Oracle db 12c.

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

Теперь я понял, что мне нужно более 4 000 записей, поэтому я хотел бы расширить это определение до 5 000 без потери всех данных, которые уже находятся в этих массивах.

Возможно ли это? Как?

РЕДАКТИРОВАТЬ: использование как

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

1 Ответ

0 голосов
/ 10 января 2019

Да, вы можете использовать ALTER TYPE .. MODIFY LIMIT с опцией CASCADE

ALTER TYPE integer_varray  MODIFY LIMIT 5000 CASCADE;

Демо

...