【发布时间】:2018-05-23 18:19:33
【问题描述】:
晚上好!
我正在尝试在 PLSQL 中创建一个可以更改用户密码的存储过程。我想检查当前密码是否正确,然后我将更新用户密码或打印错误。到目前为止,我想出的是以下代码。我正在努力使用不同的参数以及如何使用它们来检查密码是否正确。有人可以给我小费吗?任何建议表示赞赏!
CREATE OR REPLACE PROCEDURE CHANGE_PWD (
P_USERNAME IN USERS.USERNAME%TYPE,
P_OLD_PW IN USERS.PASSWORD%TYPE,
P_NEW_PW IN USERS.PASSWORD%TYPE,
P_SUCCES OUT BOOLEAN)
IS
BEGIN
SELECT USERS.PASSWORD
INTO P_OLD_PW
FROM USERS
WHERE USERS.USERNAME = p_username;
IF p_old_pw = USERS.PASSWORD
THEN
UPDATE USERS
SET PASSWORD = p_new_pw
WHERE USERS.USERNAME = p_username;
ELSE
RETURN < error message > ;
END IF;
END CHANGE_PWD;
【问题讨论】:
-
哎哟......密码永远不应该被存储。
标签: authentication plsql passwords procedure