2009-05-06 22 views

Respuesta

12

Sí. Oracle los llama colecciones y hay una gran variedad de colecciones que puede usar.

Un ejemplo de matriz simple con 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

muy excelente. Agregué un segundo ejemplo que muestra Str_Array (...) como el parámetro. –

1

Si no me equivoco, hay un tipo nativo llamado TABLE que básicamente es una matriz. Pero la última vez que lo usé fue en 2001, así que tal vez haya tipos más potentes hoy en día.

Marque esta http://www.developer.com/db/article.php/3379271

Cuestiones relacionadas