2009-05-06 8 views

Antwort

12

Ja. Oracle nennt sie Sammlungen und es gibt eine Vielzahl von Sammlungen, die Sie verwenden können.

Ein einfaches Array-Beispiel mit einem 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

sehr gut. Ich habe ein zweites Beispiel hinzugefügt, das Str_Array (...) als Parameter zeigt. –

1

Wenn ich mich nicht irre, gibt es einen nativen Typ namens TABLE, die im Grunde ein Array ist. Aber das letzte Mal, als ich es benutzt habe, war 2001, vielleicht gibt es heutzutage die mächtigsten Typen.

prüfen diese http://www.developer.com/db/article.php/3379271

Verwandte Themen