Oracle-gespeicherten Prozedur - Schleife innerhalb cursor
Ich habe eine gespeicherte Prozedur Procedure1,
- Innerhalb Procedure1, ich bin Aufruf einer anderen Prozedur Procedure2 gibt sys_refcursor ProcResult2.
- Ich muss die traverse durch jede Zeile dieser cursor und fügen die Daten in eine Tabelle
Den code
Create Procedure1()
as
ProcResult1 Sys_refcursor;
begin
Procedure2(ProcResult2);
For eachrow in ProcResult2
Loop
insert into test_table(ProcResult2.Id);
end loop;
end ;\
Irgendwelche Idee, Tipps, wie Sie zu erreichen 2. Funktionalität ? Das ist die traverse über alle Zeilen zurückgegeben, in ProcResult2 und einfügen in eine neue Tabelle.
InformationsquelleAutor RMN | 2012-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie fast da:
Müssen Sie deklarieren Sie die variable v_record mit einer Struktur, die dem entspricht, was sich der cursor kehrt zurück - d.h. Sie müssen wissen, die Struktur der cursor-Datensatz, wenn Sie erstellen Sie die Prozedur. Wenn der cursor kehrt zurück "select * from mytab" dann könnten Sie verwenden:
Aber wenn es nur wählt bestimmte Spalten z.B. "select col1, col3 from mytab" dann müssen Sie manuell definieren die Struktur:
InformationsquelleAutor Tony Andrews