Pessoal,

 

                Agradeço a quem puder me orientar ref. a chamada de uma
FUNCTION para obter o valor do retorno ( paramentro tipo OUT ).

 

                Fiz a seguinte função que valida o CPF,  e que será
utilizada por uma aplicação em C#.  Mesmo assim utilizarei essa função em
outras funções no POSTGRESQL.

 

                Pergunta:  Como eu faço para chamar essa função (
f_check_cpf) obter os retorno  sobre o sucesso ou não da validação do CPF (
OUT ret boolean ),  levando em consideração que a função possui os seguintes
parâmetros:

 

                Grato !  Jairo !

                

CREATE OR REPLACE FUNCTION public.f_check_cpf(IN par_cpf character varying,
OUT ret boolean)

 RETURNS boolean AS

$BODY$

-- ROTINA DE VALIDAÇÃO DE CPF

-- Retorna True para CPF correto e FALSE se invalido

DECLARE

                                x real;

                                y real; --Variável temporária

                                soma integer;

                                dig1 integer; --Primeiro dígito do CPF

                                dig2 integer; --Segundo dígito do CPF

                                len integer; -- Tamanho do CPF

                                contloop integer; --Contador para loop

                                val_par_cpf varchar(11); --Valor do
parâmetro

BEGIN

 

           ....  

           -Teste do CPF

                IF ((dig1 || '' || dig2) = substring(val_par_cpf,len-1,2))
THEN

                               ret = true;

                ELSE

                               RAISE NOTICE 'DV do CPF Inválido: %',$1;

                               ret = false;

                END IF;

END;

$BODY$

  LANGUAGE 'plpgsql' IMMUTABLE;

 

Jairo Rodrigues de Oliveira

Tel:  11-3768-5194

Cel(Oi).: 11-9486-7595

Email:   <mailto:[email protected]> [email protected]

 

"Esta mensagem e seu conteúdo - inclusive anexos - são dedicados
exclusivamente para seu(s) destinatário(s), podendo conter informações
confidenciais e/ou legalmente privilegiadas. Qualquer modificação,
retransmissão, disseminação, impressão ou utilização não autorizada fica
estritamente proibida. Se você recebeu esta mensagem por engano, por favor
informe o remetente e delete o material e as cópias de sua máquina."

 

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a