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

Como usar a tabela temporária global do Oracle?


Tente o seguinte usando execute imediato:ele usa um manipulador de exceção para ignorar se a tabela já existir; observe também que você não pode usar SQL select dentro de PLSQL
DECLARE
  l_column1 number;
begin
  begin
    execute immediate 'create global temporary table my_temp_table(column1 number) 
on commit   preserve rows';
  exception when others
    then
    dbms_output.put_line(sqlerrm);
  end;
  insert into my_temp_table (column1) values (1);
  select * into l_column1 from my_temp_table where column1=1;
  dbms_output.put_line('the temp value is '||l_column1);   
end;