Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Selecionando Valores da Variável/Matriz da Tabela Oracle?


Você pode precisar de uma TABELA TEMPORÁRIA GLOBAL.

No Oracle, eles são criados uma vez e, quando invocados, os dados são privados da sua sessão.

Link da Documentação da Oracle

Tente algo assim...
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; 
/