在Oracle

时间:2015-10-24 16:02:19

标签: sql oracle oracle-apex

我不知道如何在用户登录Apex时为其定义一组属性。使用用户名和密码登录后,表格应显示有关该用户的数据。用户名和密码存储在一个表格中,其中包含一些详细信息,例如“姓名”,“电子邮件地址”,“家庭住址等”等。与' Employee_id'作为主键。登录后,他们应该具有该特定行的数据值。我试图尝试的事情:

我做了一个报告想要指定名称显示:

SELECT NAME
FROM EMPLOYEES
WHERE EMPLOYEE_USERNAME= :APP_USER 

(已尝试获取当前登录的用户名)。

这没有效果,也没有显示任何内容。

1 个答案:

答案 0 :(得分:0)

要使您的上述查询返回数据,EMPLOYEE_USERNAME的值必须与存储在:APP_USER变量中的当前用户名相匹配。请注意:APP_USER以大写形式检索当前用户的用户名。我建议你改变你的查询:

SELECT NAME
FROM EMPLOYEES
WHERE UPPER(EMPLOYEE_USERNAME)= :APP_USER 

此类查询存在一些性能问题我建议添加一个触发器,以确保EMPLOYEE_USERNAME为大写或在UPPER(EMPLOYEE_USERNAME)上添加基于函数的索引。