我想在三个select语句之间创建两个联合运算符,以便能够对尝试登录到oracle apex中的数据库应用程序的用户进行身份验证。是否可能?如果正确,怎么做?
select 'USER'
from customers
where upper(cid) = upper(:p_username) and c_pass = :p_password
UNION
select 'employee'
from employees
where upper(e_un) = upper(:p_username) and e_pass = :p_password;
UNION
select 'manager'
from employees
where upper(e_un) = upper(:p_username) and e_pass = :p_password and e_type='MANAGER';
答案 0 :(得分:0)
总之,有可能。
尽管我会使用区分大小写的用户名和密码比较,并使用union all
而非union
来获得更好的性能,但是您或多或少都处于正确的轨道。