【问题标题】:i need a pl sql procedure to reset password我需要一个 pl sql 程序来重置密码
【发布时间】:2015-03-04 05:27:05
【问题描述】:

我需要一个 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;

【问题讨论】:

  • 不要只是提出另一个重复的问题 - 用可以回答的实际问题编辑您的第一个问题。

标签: plsql


【解决方案1】:

检查以下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;

【讨论】:

    猜你喜欢
    • 2018-01-18
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多