Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

verificar que sean nombres correctos.

Estas en el tema de verificar que sean nombres correctos. en el foro de Oracle en Foros del Web. tengo una tabla con nombres y apellidos de personas y quiero saber si uno de esos tiene algun caracter invalido como numeros y caracteres que ...
  #1 (permalink)  
Antiguo 12/10/2007, 13:19
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 21 años
Puntos: 0
verificar que sean nombres correctos.

tengo una tabla con nombres y apellidos de personas y quiero saber si uno de esos tiene algun caracter invalido como numeros y caracteres que no sean letras.

¿como puedo hacerlo?

e intentado por ejemplo usando rango like '%[0-9]%' pero no me funciona el rango.

saludos.
  #2 (permalink)  
Antiguo 13/10/2007, 22:05
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Re: verificar que sean nombres correctos.

Mira este código; lo he creado al vuelo (es decir en un notepad sin validarlo) asi que puede contener algun error pero te le he puesto comentarios para que veas lo que he intentado hacer. Lo puedes declarar en un trigger o en un disparador de tu form si estas trabajando con ello.

Código PHP:


Create 
or Replace function es_caracter(mivariable in varchar2) return boolean is

miprueba    varchar2
(1) default null;
milongitud  number(100);
mivalidador boolean default true;
micadena    varchar2(100) default 'ABCDEFGHIJKLMNÑOPEQRSTUVWXYZáéíóúabcdefghijklmnñopqrstuvwxyz';
mibandera   number(100);

begin

  
/* vemos la longitud de la cadena */
  
milongitud := length(mivariable);

  
/* hacemos un lazo desde 1 hasta la longitud de la cedana a verificar */
  
for Lcntr  in 1..milongitud loop

    
/* extraemos un caracter a la vez de la cadena */
     
miprueba := SUBSTR(mivariableLcntr1);

    
/* verificamos que el caracter extraido se encuentre en el rango valido de caracteres*/
     
mibandera := instr(miprueba,micadena);

    
/* si el valor es erroneo declaramos que contiene caracteres no validos */
    
If mibandera <= o then
       mivalidador 
:= false;
    
end if;

  
end loop;

  Return 
mivalidador;

End
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 17/10/2007, 23:48
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 21 años
Puntos: 0
Re: verificar que sean nombres correctos.

gracias me sirvio.
y para caso de validar numero hice convertir un string a numero y si hay excepcion retorno nulo.
  #4 (permalink)  
Antiguo 18/10/2007, 08:56
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Re: verificar que sean nombres correctos.

Excelente que te sirviera
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:06.