Consulta para retornar cpf válido

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
edson.amorim
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 135
Registrado em: Qui, 04 Out 2007 3:36 pm
Localização: Belo Horizonte - MG

Caro(a) colega,

Tenho no meu banco, no campo CPF, vários cpfs que na verdade não foram verificados durante o cadastramento dos mesmos.
Preciso fazer uma consulta para verificar quais registros estão com os CPF corretos.
Criei uma função chamada V_CPF para fazer a verificação do dígito mas preciso fazer uma consulta via PLSQL no banco para mostrar quais estão corretos.
Como fazer isso?

grato,
edson.amorim
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 135
Registrado em: Qui, 04 Out 2007 3:36 pm
Localização: Belo Horizonte - MG

Prezado Moderador,

Me desculpe, enviei este post para o local errado, ou seja para o "SQLPLUS",
Por gentileza, redirecione para o local correto o qual eu queria: PLSQL.

Me desculpem mais uma vez,

Grato,

Edson
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Selecionar tudo

select *
from suatabela
where suafuncao(cpf) = 'I' --assumo que I seria os invalidos, o retorno da funcao I, 
edson.amorim
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 135
Registrado em: Qui, 04 Out 2007 3:36 pm
Localização: Belo Horizonte - MG

Prezado Diego,

Ótimo.. Agorta outra dúvida: minha função recebe alem do número do cpf, o tipo de pessoa ou seja; "PF" pessoa fisica e "PJ" para pessoa juridica. Netse caso, como é que eu incluo o tipo de pessoa aqui na consulta?

Obrigado!!
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Selecionar tudo

select *
from suatabela
where suafuncao(cpf,tipopessoa) = 'I' --assumo que I seria os invalidos, o retorno da funcao I, 
ai você tem que ver como você definiu a ordem dos parametros na funcao, se primeiro é o tipo da pessoa, ou se o cpf,

não tem segredo, falow
edson.amorim
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 135
Registrado em: Qui, 04 Out 2007 3:36 pm
Localização: Belo Horizonte - MG

Caro Diego,

Fiz e deu legal no meu ambiente de testes. Na Produção, a função retorna boolean e não está funcionando legal. tem como contornar issocoma função retornando boolean??
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Cara, até tem uma função que tu consegue dar um to_number algo assim no boolean e retornar de forma que possa ser tratado..

não me recordo o nome, uma solução seria fazer em PLSQL você faz Loop na tabela e testa dentro do for linha a linha retornando pra uma variavel a saida da funcao,

+- assim

Selecionar tudo

declare
  vBoolean   boolean;
begin
  for i in (select * from tabela) loop
    vBoolean := validaCPF(i.cpf);
    if (not vBoolean) then
      dbms_output.put_line('invalido: '||i.cpf);
    end if;
  end loop;
end;
via Select não me lembro como era a conversao do boolean.. =(

talvez alguém ai possa te ajudar mais..
edson.amorim
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 135
Registrado em: Qui, 04 Out 2007 3:36 pm
Localização: Belo Horizonte - MG

Caro Diego,

Certíssimo!! é assim mesmo. Como aindo estou me interando melhor sobre esta parte de uso de funções, estou aproveitando e explorando aqui a grande boa vontade sua principalmente. Me desculpe por perguntar mais uma!! mas essa não tão necessária: é ´possivel eu mostrar uma boa quantidade de registros na aba OUTPUT?? ou, ainda; posso mostrar o resultado de um contador??

Valeu muito pela ajuda!! Obrigado,
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes