Oracle
 sql >> Base de données >  >> RDS >> Oracle

Sélection de valeurs à partir d'Oracle Table Variable / Array ?

Vous pourriez avoir besoin d'une GLOBAL TEMPORARY TABLE.

Dans Oracle, ceux-ci sont créés une seule fois, puis lorsqu'ils sont invoqués, les données sont privées pour votre session.

Lien vers la documentation Oracle

Essayez quelque chose comme ça...

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