2009-05-06 6 views

risposta

12

Sì. Oracle li chiama collezioni e c'è una varietà di collezioni che puoi usare.

Un semplice esempio di array che utilizza un VARRAY.


DECLARE 
    TYPE Str_Array IS VARRAY(4) OF VARCHAR2(50); 
    v_array Str_Array; 

    PROCEDURE PROCESS_ARRAY(v_str_array Str_Array) 
    AS 
    BEGIN 
    FOR i IN v_str_array.first .. v_str_array.last LOOP 
     DBMS_OUTPUT.PUT_LINE('Hello '||v_str_array(i)); 
    END LOOP; 
    END; 

BEGIN 

    v_array := Str_Array('John','Paul','Ringo','George'); 

    PROCESS_ARRAY(v_array); 

    -- can also pass unbound Str_Array 
    PROCESS_ARRAY(Str_Array('John','Paul','Ringo','George')); 

END; 

+0

molto eccellente. Ho aggiunto un secondo esempio che mostra Str_Array (...) come parametro. –

1

Se non sbaglio, c'è un tipo nativo chiamato TABLE che fondamentalmente è un array. Ma l'ultima volta che l'ho usato è stato il 2001, quindi forse ci sono i tipi più potenti al giorno d'oggi.

Scegli questa http://www.developer.com/db/article.php/3379271

Problemi correlati