SCRIPT CPF

Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008

[ Hits: 6.232 ]

Homepage: http://jeffersoncampos.eti.br

Download spCPF.sql




Este script lê um CPF e gera os dígitos verificadores do mesmo.

Script especialmente portado do Oracle para o MYSQL

  



Esconder código-fonte

--
-- Script para calculo dos digitos verificadores do CPF - versão MYSQL 5.
-- Por Jefferson Luiz Oliveira de Campos - 09/10/2008.
-- Este script é GPL. Sinta-se a vontade para exercer as 4 liberdades.... ;) <--> só não esqueça de citar o autor.... ^^''
--

DROP FUNCTION IF EXISTS DigCPF;

DELIMITER |
   CREATE FUNCTION DigCPF (pCPF CHAR(9)) RETURNS CHAR(2) DETERMINISTIC
      BEGIN
            DECLARE vCPF CHAR(9);
            DECLARE soma, resto, cont INT;
      DECLARE dv1 CHAR(1) ;
      DECLARE dv2 CHAR( 1 ) ;

      SET vCPF = pCPF;

      -- Calculando o primeiro dígito verificador
      SET soma := 0;
      SET cont := 1;

      REPEAT
         SET soma := soma + ((CAST(SUBSTR(vCPF,cont,1) AS UNSIGNED)) * cont);
         SET cont := cont + 1;
      UNTIL cont = 10 END REPEAT;

      SET resto := MOD(soma,11);

      IF resto = 10 THEN
         SET dv1 :='0';
      ELSE
         SET dv1 := CAST(resto AS CHAR (1));
      END IF;

      -- Calculando o segundo dígito verificador
      SET soma := 0;
      SET cont := 1;
      
      REPEAT
         SET soma := soma + ((CAST(SUBSTR(vCPF,cont,1) AS UNSIGNED)) * (12 - cont));
         SET cont := cont + 1;
      UNTIL cont = 10 END REPEAT;

      SET soma := (soma + (CAST(dv1 AS UNSIGNED) * 2)) * 10;

      SET resto := MOD(soma,11);

      IF resto = 10 THEN
         SET dv2 := '0';
      ELSE
         SET dv2 := CAST(resto AS CHAR(1));
      END IF;

      RETURN CONCAT(dv1,dv2);

          END|

Scripts recomendados

a

Classe Java para conectar ao Mysql em um servidor remoto

Conexão com Banco de Dados MySQL

Agenda Java + MySQL que gera relatório PDF

Integração Java + Firebird


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts