如何创建验证用户登录的程序
程序标题是 创建或替换程序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参数。
任何人都可以帮我解释逻辑。我无法理解。
答案 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;