Oracle
 sql >> Database >  >> RDS >> Oracle

Selezione di valori da Oracle Table Variable / Array?

Potresti aver bisogno di una TABELLA TEMPORANEA GLOBALE.

In Oracle questi vengono creati una volta e poi quando vengono invocati i dati sono privati ​​della tua sessione.

Collegamento alla documentazione Oracle

Prova qualcosa del genere...

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; 
/