Sabit boyutlu bir dizi için VARRAY'i kullanabilirsiniz:
declare
type array_t is varray(3) of varchar2(10);
array array_t := array_t('Matt', 'Joanne', 'Robert');
begin
for i in 1..array.count loop
dbms_output.put_line(array(i));
end loop;
end;
Veya sınırsız bir dizi için TABLO:
...
type array_t is table of varchar2(10);
...
Buradaki "tablo" kelimesinin veritabanı tablolarıyla hiçbir ilgisi yoktur, kafa karıştırıcıdır. Her iki yöntem de bellek içi diziler oluşturur.
Bunlardan herhangi biriyle, öğe eklemeden önce koleksiyonu hem başlatmanız hem de genişletmeniz gerekir:
declare
type array_t is varray(3) of varchar2(10);
array array_t := array_t(); -- Initialise it
begin
for i in 1..3 loop
array.extend(); -- Extend it
array(i) := 'x';
end loop;
end;
İlk indeks 0 değil 1'dir.