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:
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
'ORA-01858: a non-numeric character was found where a numeric was expected'