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

Ayuda con validacion de rut

Estas en el tema de Ayuda con validacion de rut en el foro de Oracle en Foros del Web. hola amigos de foros del web quisiera pedirles un gran favor en la me dieron una tarea de validar el rut o sea debo ingresar ...
  #1 (permalink)  
Antiguo 29/08/2008, 16:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Ayuda con validacion de rut

hola amigos de foros del web quisiera pedirles un gran favor en la me dieron una tarea de validar el rut o sea debo ingresar el rut y q me diga si es correcto o no no quiero q yo ingrese el rut y este me devuelva el digito verificador eso no es por otra parte encontre un codigo en esta misma seccion pero me arroja errores esta es la funcion :

create or replace function "VALIDARUT"
(p_dig_rut in VARCHAR2,
p_rut in VARCHAR2)
return VARCHAR2
is

v_rut varchar2(10) := substr(lpad(p_rut,9,'0'),1,10);
v_res number(2);
v_val varchar2(10);
v_dig varchar2(1);
begin
v_res := 11 - mod(to_number(substr(v_rut,1,1)) * 4 + to_number(substr(v_rut,2,1)) * 3 + to_number(substr(v_rut,3,1)) * 2 + to_number(substr(v_rut,4,1)) * 7 + to_number(substr(v_rut,5,1)) * 6 + to_number(substr(v_rut,6,1)) * 5 + to_number(substr(v_rut,7,1)) * 4 + to_number(substr(v_rut,8,1)) * 3 + to_number(substr(v_rut,9,1)) * 2, 11);
if v_res = 10 then
v_dig := 'K';
elsif v_res = 11 then
v_dig := '0';
else
v_dig := ltrim(v_res);
end if;

if v_dig = p_dig_rut then
v_val:='SI';
else
v_val:='NO';
end if;

return v_val;
exception
when others then
return 'NO';


y al crear la funcion en sql me aparece q tiene errores este mensaje

Function created with compilation errors. y le aplico a show errors y me dice no errors ayuda plisss porfavor desde ya muchas gracias...
  #2 (permalink)  
Antiguo 31/08/2008, 18:01
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
Respuesta: Ayuda con validacion de rut

supongo que habra sido del copy/paste pero por si las dudas

when others then
return 'NO';
...

falta el "end;"
__________________
Blogzote.com :-) Mi blog
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 13:50.