它会是这样的:
create or replace procedure usernameExists (username in VARCHAR ) is
l_user user_tables.owner%type;
BEGIN
Select User
into l_user
From Login_user
where User_Name_upper = upper(username);
EXCEPTION
when NO_DATA_FOUND then
raise_application_error(-20000, 'User does not exist!');
END;
然后你会这样称呼它:
OracleCommand cmdUserDetails = new OracleCommand("usernameExists", conSODEV);
cmdUserDetails.Parameters.AddWithValue("username",username_variable);
IDataReader reader = cmdUserDetails.ExecuteReader();
注 1:我不是 Oracle 开发人员,但应该非常接近。
注意 2:如果用户名存在,上述过程将简单地返回记录。您提到了“登录过程”,但您的原始查询也没有任何检查密码的代码。如果要实现“登录过程”,则需要在 select 语句中匹配用户名和密码,并且还需要确保正确检查区分大小写。