Olá, Wallison, tudo bem?
Desde já peço desculpas pela demora em obter retorno.
Em relação ao seu código tenho um ponto de melhoria.
Notei que você fez uma consulta select
, fazendo a busca pelo id correspondente. No entanto, é solicitado que essa transformação seja feita com uma procedure
.
Portanto, a procedure ficará assim:
CREATE OR REPLACE PROCEDURE formata_cnpj (
p_CNPJ IN CLIENTE.CNPJ%type,
p_CNPJ_SAIDA OUT CLIENTE.CNPJ%type
)
IS
BEGIN
p_CNPJ_SAIDA := SUBSTR(p_CNPJ,1,2) || '/' || SUBSTR(p_CNPJ,3,2) || '-' || SUBSTR(p_CNPJ,5,1);
END;
A procedure formata_cnpj
é criada para formatar um CNPJ de 5 dígitos no formato 68/09-0. Ela recebe o CNPJ original como parâmetro e retorna o CNPJ formatado na variável de saída. A formatação é realizada utilizando a função SUBSTR
para extrair partes específicas do CNPJ original e o operador de concatenação ||
para unir as partes no formato desejado.
Aproveito para comunicar que esse curso ganhou uma versão atualizada: Oracle PL/SQL: procedures, funções e exceções.
Espero ter ajudado.
Caso surja alguma dúvida, fico à disposição.
Abraços e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!