2
respostas

[Dúvida] Erro ao Executar o código do corpo do package

Package Body CLIENTE_PAC compilado

LINE/COL ERROR


0/0 PL/SQL: Compilation unit analysis terminated
1/14 PLS-00905: o objeto USER_DEV.CLIENTE_PAC é inválido
1/14 PLS-00304: não é possível compilar o texto de 'CLIENTE_PAC' sem a respectiva especificação
Erros: verifique o log do compilador

CREATE OR REPLACE PACKAGE BODY CLIENTE_PAC
IS
PROCEDURE INCLUIR_CLIENTE
    (p_id in cliente.id%type,
    p_razao_social in cliente.razao_social%type,
    p_CNPJ cliente.CNPJ%type ,
    p_segmercado_id cliente.segmercado_id%type,
    p_faturamento_previsto cliente.faturamento_previsto%type)
IS
    v_categoria cliente.categoria%type;
    v_CNPJ cliente.cnpj%type := p_CNPJ;
    v_codigo_erro number(5);
    v_mensagem_erro varchar2(200);
    v_dummy number;
    v_verifica_segmento boolean;
    e_segmento exception;
BEGIN
    v_verifica_segmento :=     verifica_segmento_mercado(p_segmercado_id);
    IF v_verifica_segmento = false THEN
        RAISE e_segmento;
    END IF;
    v_categoria := obter_categoria_cliente(p_faturamento_previsto);
    format_cnpj (v_cnpj);
    INSERT INTO cliente 
            VALUES (p_id, UPPER(p_razao_social), v_CNPJ, p_segmercado_id
                    ,SYSDATE, p_faturamento_previsto, v_categoria);
    COMMIT;   
EXCEPTION
    WHEN dup_val_on_index then
        raise_application_error(-20010,'Cliente já cadastrado');
    WHEN e_segmento then
        raise_application_error (-20011,'Segmento de mercado inexistente');
    WHEN OTHERS then
        v_codigo_erro := sqlcode;
        v_mensagem_erro := sqlerrm;
        raise_application_error (-20000,to_char(v_codigo_erro)||v_mensagem_erro);
END;

END;

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Encontrei o erro, estava no cabeçalho do package.

Oi, Matheus, tudo bem?

Ótimo que você conseguiu identificar o erro no cabeçalho do package e resolver o problema. Isso mostra que você está atento aos detalhes da estrutura do código em PL/SQL, o que é muito importante nesse tipo de desenvolvimento.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!