SCRIPT CPF

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

[ Hits: 6.250 ]

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

Conexão com Banco de Dados MySQL

a

Cadastro de Clientes com GUI e MySQL

Conexão com Firebird usando a linguagem Java

Script para Conexão com Oracle


  

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