EjemplosDuoc.es.tl
  PA Valida Rut
 
Funcion que permite validar todo tipo rut.

CREATE FUNCTION F_VALIDARRUT(@RUT INT, @DIGITO CHAR)
RETURNS BIT
WITH EXECUTE AS CALLER
AS
BEGIN
DECLARE @LARGO INT, @FACTOR INT, @CONTADOR INT, @CARACTER INT,
@SUMA  INT, @DV INT, @ESVALIDO INT, @CDV VARCHAR(11)
 
SET @LARGO = LEN(@RUT)
SET @FACTOR = 2
SET @CONTADOR = 0
SET @CARACTER = 0
SET @SUMA = 0
SET @CDV = '123456789K0'
SET @ESVALIDO = 0
WHILE @LARGO <> 0
BEGIN
SET @CARACTER = SUBSTRING(CONVERT(VARCHAR,@RUT), @LARGO, 1)
SET @SUMA = @SUMA + (@CARACTER * @FACTOR)
SET @LARGO = @LARGO - 1
SET @FACTOR = @FACTOR + 1
IF @FACTOR = 8
SET @FACTOR = 2
END
 
SET @DV = 11 - (@SUMA % 11)
IF SUBSTRING(@CDV,@DV,1) = @DIGITO
SET @ESVALIDO = 1
RETURN @ESVALIDO
END


-- Como Ejecutar?

BEGIN TRY
DECLARE @ESVALIDO BIT
SET @ESVALIDO = DBO.F_VALIDARRUT(11111111, '1')
IF @ESVALIDO = 1
PRINT 'RUT VALIDO'
ELSE
BEGIN 
PRINT 'RUT INVALIDO'
END
END TRY
BEGIN CATCH
PRINT 'HUBO UN ERROR AL COMPROBAR EL RUT'
END CATCH



 
   
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis