2016-12-15 4 views
2

Ich versuche, eine Varray von Beans Typ zu créate und füllen Sie es, aber ich habe es eilig und finde kein nützliches Beispiel.Erstellen und Befüllen Varray in Oracle SQL

arr=[[1,'A'],[2,'B'],[3,'C']] 

Dies ist mein Code:

create table my_table (NUM_OPERACIO NUMBER,TITULS varchar2(3)) ; 
insert into my_table values(1,'A'); 
insert into my_table values(2,'B'); 
insert into my_table values(3,'C'); 

create TYPE item IS object(NUM_OPERACIO NUMBER, TITULS varchar2(3)); 
/
create TYPE arr IS VARRAY(10) OF item; 
/

insert into arr values(select NUM_OPERACIO, TITULS from my_table); 

FOR i IN 1..3 loop 
    dbms_output.put_line(arr (i)); 
END loop; 

Helfen Sie mir diese achive, bitte.

Vielen Dank im Voraus

Antwort

2

Oracle-Setup:

create table my_table (NUM_OPERACIO NUMBER,TITULS varchar2(3)) ; 
insert into my_table values(1,'A'); 
insert into my_table values(2,'B'); 
insert into my_table values(3,'C'); 

CREATE TYPE item IS object(NUM_OPERACIO NUMBER, TITULS varchar2(3)); 
/
CREATE TYPE item_array IS VARRAY(10) OF item; 
/

PL/SQL:

DECLARE 
    arr item_array; 
BEGIN 
    SELECT item(NUM_OPERACIO,TITULS) 
    BULK COLLECT INTO arr 
    FROM my_table; 

    FOR i IN 1..arr.COUNT loop 
    dbms_output.put_line(arr(i).NUM_OPERACIO || ', ' || arr(i).TITULS); 
    END loop; 
END; 
/