Oracle11g 在apex oracle中的选择中,在不同条件下禁用“where”
看看apex oracle中的me t交互式报告,我有按数据区域进行选择的功能。我还有一个电子表格,里面有一个角色栏,因为角色是30,这意味着用户是管理员。我想,当在程序中的管理员选择是不需要的。那我该怎么办 选择ID, 数据 名称 来自SEC_传输_密封件 其中data\u area=从SEC\u USERS\u列表中选择名称,其中login=较低:APP\u USEROracle11g 在apex oracle中的选择中,在不同条件下禁用“where”,oracle11g,oracle-apex,Oracle11g,Oracle Apex,看看apex oracle中的me t交互式报告,我有按数据区域进行选择的功能。我还有一个电子表格,里面有一个角色栏,因为角色是30,这意味着用户是管理员。我想,当在程序中的管理员选择是不需要的。那我该怎么办 选择ID, 数据 名称 来自SEC_传输_密封件 其中data\u area=从SEC\u USERS\u列表中选择名称,其中login=较低:APP\u USER 按数据描述排序可通过两种方式完成: 备选案文1。将管理员检查直接添加到查询: 这种方法的缺点是,需要在需要检查用户管理访问
按数据描述排序可通过两种方式完成: 备选案文1。将管理员检查直接添加到查询: 这种方法的缺点是,需要在需要检查用户管理访问权限的任何地方添加代码 备选案文2。申请项目 在共享组件下创建应用程序项,例如用户角色ID 在将用户角色ID设置为查询结果的共享组件下创建应用程序计算,例如
select u.role from user_table u where u.login = lower(:APP_USER)
现在,您可以在任何地方引用用户的角色,例如
select ID,
DATA,
NAME
from SEC_TRANSFER_SEALS
where (data_area = (select name from SEC_USERS_LIST where login = LOWER(:APP_USER) )
or :USER_ROLE_ID=30 )
order by data desc
select ID,
DATA,
NAME
from SEC_TRANSFER_SEALS
where (data_area = (select name from SEC_USERS_LIST where login = LOWER(:APP_USER) )
or :USER_ROLE_ID=30 )
order by data desc