Oracle Apex - 如何根据另一个表中的值限制特定用户可以看到的内容

问题描述 投票:0回答:1

我有表一:

报告 面积
报告_24_09 1011
报告_24_09 1012

和表二:

用户 面积
马克 1011
约翰 1012
布鲁斯 1013

如何限制表一的 SQL 查询,以便 Mark 只能看到区域 1011 的报告,John 只能看到区域 1012 的报告,Bruce 可以看到两者?
当然,真实的表格更复杂,有地区、次地区和地区。

我正在考虑在调用函数的查询中添加 where 条件,但我不知道如何做到这一点,也不知道这是否是最好的方法。

authorization oracle-apex
1个回答
1
投票

如果表2存储了Apex应用程序的用户,您可以使用

'APP_USER'
绑定变量来获取登录的用户。在这种情况下,您可以使用示例查询创建交互式网格/报告:

select * 
from table_one 
where area in (
               select area 
               from table_two 
               where upper(user) = upper(v('APP_USER')
              );
© www.soinside.com 2019 - 2024. All rights reserved.