我需要一个pl sql代码来重置旧密码,我用密码锁3次尝试,之后我必须编写代码重置密码,这里是执行密码3尝试锁定的代码,我需要重置密码代码
Create or replace
FUNCTION x_pwd(
p_user IN VARCHAR2,
p_password IN VARCHAR2)
RETURN VARCHAR2
IS
l_error NUMBER;
l_count NUMBER;
BEGIN
SELECT error
INTO l_error
FROM credentials
WHERE username = p_user;
IF(l_error >= 3) THEN
RETURN 'Authentication failed. Reached incorrect number of attempts';
ELSE
SELECT COUNT(id)
INTO l_count
FROM credentials
WHERE username = p_user
AND password = p_password;
IF l_count > 0 THEN
UPDATE credentials SET error = 0 WHERE username = p_user;
RETURN 'LOGIN SUCCESSFUL';
ELSE
UPDATE credentials SET error = l_error+1 WHERE username = p_user;
RETURN 'LOGIN FAILED';
END IF;
END IF;
COMMIT;
END;
答案 0 :(得分:0)
检查以下PLSQL代码以重置密码:
BEGIN
UPDATE credentials
SET password = p_password -- use as parameter in procedure
WHERE username = p_user;
-- or you can include "and id = p_id" in where clause
IF SQL%ROWCOUNT > 0
THEN
COMMIT;
RETURN 'Password Reset Successful.';
ELSE
RETURN 'Password Reset Failed. Invalid User Name';
END IF;
END;