如何创建验证用户登录的程序

时间:2016-05-17 00:21:27

标签: plsql

如何创建验证用户登录的程序

程序标题是 创建或替换程序check_user_login

user_id NUMBER,

密码VARCHAR2,

out_c OUT NUMBER

) 如果userid不在USER表的user_id列中,则将-1分配给out_c参数。

userid的值位于USER表的USER_ID列中,但相应的帐户被锁定(IS_LOCKED_OUT ='Y')。您将-2分配给out_code参数。

任何人都可以帮我解释逻辑。我无法理解。

1 个答案:

答案 0 :(得分:0)

试试这段代码:

create or replace procedure check_user_login(p_user_id number, p_password varchar2, p_out_c OUT number)
is
  v_account_status varchar2(255);
begin

  p_out_c := 0; 

  select account_status
  into v_account_status
  from dba_users
  where user_id = p_user_id
  and password = p_password;

  if v_account_status like '%LOCKED%' then
    p_out_c := -2;
  end if;

  exception
    when no_data_found then
      p_out_c := -1;

end check_user_login;