Jales, Na procedure vc está criando a tabela com sql dinâmico, em tempo de execução, logo... em tempo de projeto (momento em que vc está escrevendo o código) ela ainda não existe, por isso o erro.
Neste caso, o INSERT precisa ser executado como sql dinâmico também (ver exemplo abaixo): BEGIN EXECUTE IMMEDIATE ('CREATE GLOBAL TEMPORARY TABLE T9(J NUMBER (5))'); EXECUTE IMMEDIATE ('INSERT INTO T9 values (5)'); --commit; end; []s Fábio Prado http://www.fabioprado.net Em 2 de março de 2014 09:36, Jales Jose Moraes <malphig...@yahoo.com.br>escreveu: > > > Bom dia! > > Senhores estou tentando criar uma tabela temporaria. Mas ja em uma simples > declaração da mesma (conforme o script abaixo), está me retornando o erro > de tabela inexistente. Porém se crio a tabela e insiro o valor via linhas > de comando, executa normalmente. Alguém poderia me ajudar? > > create or replace PROCEDURE CARGA_TEMP AS > > BEGIN > > EXECUTE IMMEDIATE ('CREATE GLOBAL TEMPORARY TABLE T9(J NUMBER (5))'); > INSERT INTO T9 values (5); > --commit; > end; > / > PL/SQL: ORA-00942: a tabela ou view não existe > > > -- *Fábio Prado* <http://www.fabioprado.net/2014/01/oracle-ace-o-que-e-isso.html> www.fabioprado.net "Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle"