Problema com exception no shell script

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
rapsf
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qui, 27 Set 2012 10:21 am

Boa tarde,
Estou tentando modificar uma shell script no qual, quando coloco o exception depois do insert o shell não funciona.
Sem o begin e exception funciona normal.
No caso abaixo estou jogando um texto 'TES' numa variavel DATE, que é para dar erro e gravar na procedure que estou chamando no
exception, porém não funciona,
Se conseguirem entender a situação, podem me ajudar ?

Já tentei também colocar o bloco do begin - end; em um execute immediate, também não funcionou.

Parte do Código Shell:

Selecionar tudo

sqlplus -s ${user}@${dbplus}/${password} << EOF >> ${LOG}
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI.SS';
WHENEVER SQLERROR EXIT SQL.SQLCODE

BEGIN 
INSERT INTO V_TABELA1 SELECT 'TES'  DATA_HORA_REF, A.* FROM V_TABELA2 A;  
EXCEPTION
    WHEN OTHERS THEN 
     EXECUTE PR_Procedure_LOG('TEXTO','TEXTO', 'TEXTO','ERRO',Trunc(SYSDATE),'TEXTO', SQLERRM);
 END;
exit;
EOF
Erro que gostaria de gravar via procedure:

'ORA-01858: a non-numeric character was found where a numeric was expected'
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

A sua procedure de LOG tem commit dentro?
Já testou se seu erro ta caindo no exception ?
Será que a procedure de LOG não está dando erro e gerando um outro exception ?
Responder
  • Informação