1
resposta

O BANCO NÃO ESTÁ RETORNANDO A MENSAGEM PROGRAMADA

Fiz as alterações na procedure seguindo as instruções da aula mas na hora de rodar o script de inclusão de um cliente que já esteja cadastrado, o banco não retorna erro nenhum, nem o erro original e nem o erro configurado na exception, retorna apenas 'Procedimento PL/SQL concluído com sucesso.'

Podem dar uma olhada se errei algo no codigo dessa procedure?

create or replace PROCEDURE incluir_cliente
(
p_ID CLIENTE.ID%type,
p_RAZAO CLIENTE.RAZAO_SOCIAL%type,
p_CNPJ CLIENTE.CNPJ%type,
p_SEGMERCADO CLIENTE.SEGMERCADO_ID%type,
p_FATURAMENTO CLIENTE.FATURAMENTO_PREVISTO%type
)
IS
  v_CATEGORIA CLIENTE.CATEGORIA%type;
  v_CNPJ CLIENTE.CNPJ%type;
BEGIN

  v_CATEGORIA := categoria_cliente(p_FATURAMENTO);
  FORMATA_CNPJ(p_CNPJ, v_CNPJ);

  INSERT INTO CLIENTE
  VALUES
  (p_ID, p_RAZAO, v_CNPJ, p_SEGMERCADO, SYSDATE, p_FATURAMENTO, v_CATEGORIA);
  COMMIT;

EXCEPTION
    WHEN DUP_VAL_ON_INDEX THEN
    dbms_output.put_line('******************************************');
    dbms_output.put_line('**************  CLIENTE JÁ CADASTRADO !!!!');
    dbms_output.put_line('******************************************');

END;
1 resposta

Oi Leonardo, como você está?

Desculpe por demorar a te responder.

Seu código está correto! É possível que a mensagem de erro não esteja aparecendo corretamente caso você não tenha rodado anteriormente o comando SET SERVEROUTPUT ON;, que possibilita o uso de dbms_output.put_line() para escrever na saída de script. Inclusive, o instrutor fala sobre isso na próxima aula!

Além disso, uma coisa bastante simples, mas que pode gerar uma confusão, é o tamanho da sua saída de script. Mesmo ao mostrar a exceção, o texto "Procedimento PL/SQL concluído com sucesso" é a última linha na saída. Caso sua saída esteja curta, mostrando poucas linhas por vez, é possível que você veja apenas essa linha, mesmo que a mensagem de exceção esteja logo acima.

Espero que dê tudo certo por aí e que o curso esteja sendo proveitoso para você!

Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software