Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

napalm23zero

Ora-00942

Recommended Posts

Eu sou o owner, esta tudo ok, tenho privilégios de gravação e leitura, o SELECT que eu coloquei ai de exemplo funciona normalmente no SQL

 

o erro que retorna é o ORA-00942

 

alguém ajuda porfavor

 

e nao tirem uma com a minha cara <_<

sou iniciante :joia:

ja foi um milagre eu ter conseguido fazer isso ai sozinho :ermm:

 

PROCEDURE  PROCEDUREDIARIA IS

-- MODIFICATION HISTORY

-- Rodrigo Dantas   29 agosto de 2011
-- ---------------  -----------------
-- I.T.- A Trainee
-- ----------------



--Esta interface tem por objetivo, gerar um relatório diário das informações do Banco de dados


-- inicio da procedure
-- Declara o cursor principal, apartir desde as informações se´ão retiradas

CURSOR C_MAIN IS

SELECT * FROM TAE_PALLETE;

---------------------------------------------------------------------------------------------------------------------------------------------
--VARIAVEIS DE MANIPULAÇÃO

--OBJETO ARQUIVO
V_ARQUIVO UTL_FILE.FILE_TYPE;

--NOME DO ARQUIVO
V_STRNOME VARCHAR2(1000);

--LINHA A SER IMPUTADA
V_STRLINHA VARCHAR2(2000);

--LOCAL DO ARQUIVIO
V_LOCAL VARCHAR(1000);

--CONTADOR
V_COUNT NUMBER(20);

--NUMERO DE BTS (OBSERVAR)
V_COUNT_BT NUMBER(20);

--ARQUIVO ATUAL
V_CURR_FILE NUMBER(20);

--AUXILIAR
V_AUX VARCHAR2(2000);
---------------------------------------------------------------------------------------------------------------------------------------------

BEGIN

   -- INICIA A VARIAVEL AUXILIAR
   V_LOCAL := 'x';
   DBMS_OUTPUT.PUT_LINE('A VARIÁVEL AUXILIAR JA FOI INICIALIZADA');

   -- INDICA O DESTINO DOS ARQUIVOS QUE SERÃO CRIADOS
   V_LOCAL := '/interface/entregas';   

   DBMS_OUTPUT.PUT_LINE('O LOCAL DO ARQUIVO FOI INDICADO/CRIADO E A BARIAVEL COUNT BT FOI INICIALIZADA'); --OBSERVAR

   -- CONTADOR DE REGISTROS FEITOS
   V_COUNT :=0;

   --NOME ATRIBUIDO AO ARQUIVO
   V_STRNOME := 'RELATORIO.'|| '.D' ||TO_CHAR(SYSDATE,'YYYYMMDD') || '.T' || TO_CHAR(SYSDATE,'HHMMSS') || '.txt';

   --CRIANDO O ARQUIVO
   V_ARQUIVO := UTL_FILE.FOPEN(V_LOCAL, V_STRNOME, 'W');

   DBMS_OUTPUT.PUT_LINE('O ARQUIVO FOI CRIADO EM:  ' ||V_LOCAL);
   DBMS_OUTPUT.PUT_LINE('O NOME DO ARQUIVO É: ' || V_STRNOME );

   --CRIA A LINHA DE DADOS

           FOR REG IN C_MAIN LOOP V_COUNT := V_COUNT +1;

           V_STRLINHA:= 'funcionou =D';

           -- COLOQUE O QUE SESEJA IMPRIMIR           

           UTL_FILE.PUT_LINE(V_ARQUIVO, V_STRLINHA);


           END LOOP;

   UTL_FILE.PUT_LINE(V_ARQUIVO,'TOTAL ' || LPAD(TO_CHAR(V_COUNT),6,0));
   UTL_FILE.FCLOSE(V_ARQUIVO); 
   DBMS_OUTPUT.PUT_LINE('O ARQUIVO: ' || V_STRNOME || '  FOI CRIADO COM SUCESSO!');




   DBMS_OUTPUT.PUT_LINE('PROCESSO CONCLUIDO COM SUCESSO!');



END PROCEDUREDIARIA;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isto é Oracle ...

 

Causa : A tabela ou a exibição de entrada não existe, ou um sinônimo não autorizado foi utilizado, ou um nome de exibição foi utilizado em vez do nome de uma tabela.

Action : Verificar

o nome da exibição ou da tabela utilizadas

se o nome de uma exibição não foi utilizado em vez do nome de uma tabela

se o nome da exibição ou da tabela existe.

 

Fonte

 

--

Se a procedure roda em um usuário diferente do da tabela precisa ou qualificar owner.tabela ou criar um sinômimo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.