I'm doing a program in which you have to upgrade a users password. This password will need to contain enlist one number among other conditions I've already done. However I can't get to it.
"password" is the one to contain a number on it. Here goes my program:
delimiter //
drop function if exists login;
Create Function login (nombreusuario varchar(20), password varchar (10), repite varchar (10), vieja varchar (10))
Returns boolean no SQL
begin
/* Comparar los valores nombre y password con los reales */
declare comparacion varchar(30);
declare compa varchar(30);
set comparacion = (SELECT nombre
FROM usuarios
WHERE (nombre = nombreusuario)) ;
set compa = (SELECT contrasena
FROM usuarios
WHERE (nombre = nombreusuario));
if (comparacion = nombreusuario) and (compa = vieja) and length(password)>=6 and (password = repite) then
/* Hacer el UPDATE */
UPDATE usuarios
SET contrasena = password
WHERE nombre = nombreusuario;
/*Como es verdadero devuelve verdadero */
Return TRUE;
else
Return FALSE ;
end if;
end
//
delimiter ;