oracle中使用存储过程进行用户判断登录(可以关联到几个等级权限)

 oracle中使用存储过程进行用户判断登录(可以关联到几个等级权限)主要用来数据测试

你需要有 oracle自带的emp表数据.(同样sqlserver我也写了一个进行测试)

create or replace procedure Logon(userName varchar2,userPWD number,ReturnValue out number)
is
RName varchar2(10);RPwd number(4);
begin
     ReturnValue:=0;--查询之前进行赋值
     select ename into RName from emp where ename=userName;
     if RName is not null then
        ReturnValue:=1;--查询之前进行赋值
        select empno into RPwd from emp where ename=userName and empno=userPWD;
        if RPwd is not null then
           ReturnValue:=2;--登录成功
        else
           ReturnValue:=1;--用户存在,但是密码不正确
           return;
        end if;
     else
         ReturnValue:=0;--用户不存在
         return;
     end if;
     exception
     when no_data_found then
         dbms_output.put('');
       --DBMS_OUTPUT.put_line('没有找到数据');
end;

declare
 ReturnValue number;
begin
   Logon('SCOTT',788,ReturnValue);
   if  ReturnValue=0 then
     DBMS_OUTPUT.put_line('不存在此用户');
   elsif ReturnValue=1 then
     DBMS_OUTPUT.put_line('存在用户,但密码不正确');
   else
     DBMS_OUTPUT.put_line('登录成功!!!');
   end if;
end;

当时学习练习时 简单使用

你可能感兴趣的:(oracle)