2017-02-16 2 views
1

Ich bin neu für Oracle.Ich möchte nur das Ergebnis der Auswahl in Variable erfassen und dann möchte ich diese Variable für mehrere Operationen auf diese Daten wie wir es in der verwenden SQL-Server mit Tabellenvariable.wie man resultset in type speichert und in Oracle

Ich habe versucht, wie unten:

BEGIN 
    DECLARE 
     TYPE FullRecord IS RECORD (RNumber NUMBER); 
     rec FullRecord; 
    BEGIN 
     SELECT RNumber 
     INTO rec 
     FROM tableData; 
    END; 

END 

;

+0

Lookup plsql Tabelle – GurV

+0

meine Voraussetzung ist, dass resultset mehrere Spalten (etwa 15) und alle sind durch die mehrere Tabellen verbinden, so wollen, dass die Daten erfassen in Verfahren und diese Daten würden in der gesamten Prozedur verwendet werden. –

+0

Ja. Sie können all das mit PLSQL Tabelle – GurV

Antwort

2

Sie benötigen BULK COLLECT. Siehe unten:

DECLARE 
     TYPE FullRecord1 IS RECORD (RNumber NUMBER);   
     TYPE FullRecord is table of FullRecord1 index by pls_integer;   
     rec FullRecord; 
BEGIN 
     SELECT RNumber 
     BULK COLLECT INTO rec 
     FROM tableData; 

    for i in 1..rec.count 
    loop 

    dbms_output.put_line(rec(i).RNumber); 
    end loop; 

END; 

Lesen Sie eine viel bessere explaination Here

Verwandte Themen