Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/03/2010, 16:11
gunckel
 
Fecha de Ingreso: octubre-2009
Mensajes: 10
Antigüedad: 15 años
Puntos: 0
Respuesta: Validacion rut

Cita:
Iniciado por huesos52 Ver Mensaje
pruebalo así

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION valida_rut(VARCHAR(9))
  2. RETURNS bool AS
  3. $BODY$
  4. DECLARE
  5. rutfull ALIAS FOR $1;
  6. rutfull_cero VARCHAR(9);
  7. rut VARCHAR(8);
  8. dv CHAR;
  9. respuesta bool;
  10. BEGIN
  11. IF rutfull IS NULL THEN
  12. respuesta = TRUE;
  13. END IF;
  14.  
  15. rutfull_cero := lpad(rutfull,9,''0'');
  16. rut:= substr(rutfull_cero,0,9);
  17. dv := substr(rutfull_cero,9,1);
  18.  
  19. IF digito_verificador(rut)=UPPER(dv) THEN
  20. respuesta = TRUE;
  21. ELSE
  22. respuesta = FALSE;
  23. END IF;
  24. RETURN respuesta;
  25. END;
  26. $BODY$
  27. LANGUAGE 'plpgsql';

Las etiquetas $body$ son para establecer el bloque central del procedimiento.

saludos
muchas grax por la respuesta pero encontre cual era el error, me faltaba agregar el lenguaje plpgsql a la base de datos ahora tengo la duda como llamo a la funcion desde la columna rut de la tabla en el pgadmin III, aunque estamos averiguando cualquier ayuda se agradece