:SQL查询中的APP_USER用法。 Oracle Application Express(Apex)5.0.4

时间:2016-10-31 09:13:52

标签: oracle oracle-apex

我想在选择数据库语句中使用会话变量:APP_USER,如下所示:

select * from :APP_USER.data

我有用户john.doejohny.b。 我有表john.doe.data,我想从这个表中获取所有数据。我还有表johny.b.data,当johny.b登录时,我想从表johny.b.data获取数据。

我希望你理解我的计划,所以就像每个用户都有自己的数据表,我想根据登录用户显示表。什么是正确的方法呢?

1 个答案:

答案 0 :(得分:1)

我想说这是可能的,但不应该这样做。你最好从apex_user.table(不需要前缀)中执行select *,其中column =:APP_USER并将它们全部放在一个大表中或者每个用户有一个不同的表(但是相同的apex_schema)。你如何创建这个表取决于你 - 你可以从双选择一个伪表,然后只在必要时创建它以防止任何表找不到问题。

毫无疑问,你会遇到表空间权限问题,或者更糟糕的是 - 给你的顶点用户提供比你想要的路线更多的安全权限,这将导致导出和导入噩梦。