Calculando o módulo 11 em PL/SQL


Bastante gente tem dúvidas em como calcular o módulo 11 utilizando o PL/SQL, eu vou mostrar como criar uma Function para você poder obter o módulo 11 para o dígito verificar de qualquer parte de uma aplicação na plataforma Oracle (seja Forms, outros trechos de PL/SQL no banco e assim vai) e também para facilitar a manutenção e futuras alterações.

Bem vamos então ao código:

CREATE OR REPLACE FUNCTION "mod_11" (numero number)
return VARCHAR2 is
retorna number;
aux number(3);

aux := mod((to_number(SUBSTR(numero,1,1))*3 +
to_number(SUBSTR(numero,2,1))*2 +
to_number(SUBSTR(numero,3,1))*9 +
to_number(SUBSTR(numero,4,1))*8 +
to_number(SUBSTR(numero,5,1))*7 +
to_number(SUBSTR(numero,6,1))*6 +
to_number(SUBSTR(numero,7,1))*5 +
to_number(SUBSTR(numero,8,1))*4 +
to_number(SUBSTR(numero,9,1))*3 +
to_number(SUBSTR(numero,10,1))*2)*10,11);

return nvl(aux,0);

Pronto, isso irá retornar o módulo 11 para você. O módulo 11 é muito utilizado para validar alguma sequencia numérica como números bancários, CPF, etc.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.