Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Werte aus Oracle-Tabellenvariable/Array auswählen?

Möglicherweise benötigen Sie eine GLOBAL TEMPORARY TABLE.

In Oracle werden diese einmal erstellt und dann, wenn sie aufgerufen werden, sind die Daten für Ihre Sitzung privat.

Link zur Oracle-Dokumentation

Versuchen Sie so etwas...

CREATE GLOBAL TEMPORARY TABLE temp_number
   ( number_column   NUMBER( 10, 0 )
   )
   ON COMMIT DELETE ROWS;

BEGIN 
   INSERT INTO temp_number
      ( number_column )
      ( select distinct sgbstdn_pidm 
          from sgbstdn 
         where sgbstdn_majr_code_1 = 'HS04' 
           and sgbstdn_program_1 = 'HSCOMPH' 
      ); 

    FOR pidms_rec IN ( SELECT number_column FROM temp_number )
    LOOP 
        -- Do something here
        NULL; 
    END LOOP; 
END; 
/