Oracle 使用编译错误创建的过程-`endif`

Oracle 使用编译错误创建的过程-`endif`,oracle,plsql,syntax-error,Oracle,Plsql,Syntax Error,参数u是用户id,p是用户密码。我必须检查wmode是否为admin,然后检查tbllogin中是否存在id;否则,如果wmode为user,则检查tbl_user 我有一个编译错误,但我不打算告诉您它是什么。将endif替换为end if,PL/SQL中没有endif关键字 create or replace procedure checkIdd(u varchar2,p varchar2,st out varchar2) is begin select wmode into st

参数
u
是用户id,
p
是用户密码。我必须检查wmode是否为admin,然后检查tbllogin中是否存在id;否则,如果wmode为user,则检查tbl_user


我有一个编译错误,但我不打算告诉您它是什么。

endif
替换为
end if
,PL/SQL中没有
endif
关键字

create or replace procedure checkIdd(u varchar2,p varchar2,st out varchar2)
is  
begin   
select  wmode into st from tblLogin where userid = u and pass = p;
if st='ADMIN' then
 st:='ADMIN';
else
select wmode into st from tbl_user where name=u and pass=p;
 if st='user' then
   st:='user';
 else        
   st:='No account exists';
 endif;
end if;
commit; 
exception
when no_data_found then
     st:='null';
end;
/
else
st:=“没有账户存在”;

endif-1表示“尽快纠正此错误”。这不是一个免费的编码服务。@Jeffrey Kemp我想你不会告诉我们你为一匹_马做了什么:-)如果你愿意,你可以看到Q的原始版本,希望它会很清楚:)
     else        
       st:='No account exists';
     endif; <======================================  END <space> IF 
   end if