2010-08-23 10 views
9

Dizide saklamak istediğim bazı numaralar var. oracle pl/sql'de diziyi nasıl ilan edeceğimi ve buna nasıl değer atacağım?oracle pl/sql dizileri

+0

o sayıların farklı set veya tek musunuz? –

+0

i 1,2,5,10,100 gibi bir sayıya sahip ben dizi [0] = 1, dizi [1] = 2, ..etc gibi bir dizide saklamak istiyorum. ] – Andromeda

cevap

14

PL/SQL dizi türü vardır ama biz kendimizi DÜZENLEME

The explanation article

tablo

declare 
    type NumberArray is table of number index by binary_integer; 
    myArray NumberArray; 
begin 

    myArray(0) := 1 
    myArray(1) := 2 
    --or use a for loop to fill 
end; 
kullananlar oluşturabilirsiniz: Adam Musch Eğer biz söyleyen

veya Çalıştığımız veri büyüklüğünü biliyoruz, VARRAYs uzunluğunu ayarlayabiliriz, bu oracle çevre, böylece simgeler

Alternatif dizisi simge 1'den başlayarak VARRAYs uzunluğu sabittir VARRAY kullanıyorsa, 1 başlar. Semantik

:

declare type VarrayType is varray(size) of ElementType; 

Örnek:

declare 
     type NumberVarray is varray(100) of NUMERIC(10); 
     myArray NumberVarray; 
    BEGIN 
     myArray := NumberVarray(1,10,100,1000,10000); 

     myArray(1) = 2; 

     for i in myArray.first..myArray.last 
     loop 
     dbms_output.put_line('myArray(' || i || '): ' || myArray(i)); 
     end loop; 
    end; 
END; 

Çıktı:

myArray(1) : 2 
myArray(2) : 10 
myArray(3) : 100 
myArray(4) : 1000 
myArray(5) : 10000 
+1

PL/SQL'de bir ARRAY türü var; buna sabit bir üst sınır elemanları olan 1-indeksli bir dizi olan VARRAY denir. Kullandığınız, BINARY_INTEGER anahtarının ve NUMBER değerinin olduğu bir Java Karma Haritasına benzeyen ilişkisel bir dizidir. –