我有一个需要身份验证才能登录的 oracle apex 注册表数据库。这很好用。用于验证用户的表称为 'tuser' ,该表具有用户名、密码和部门
三个例子如下
username password department
x 123 home
y 123 home
z 123 work
我的问题是我在查询中使用:appuser,因此当每个用户登录时,他们会看到各自的订单,但是我希望用户也能看到与其部门有关的订单。
所以我希望X和Y看到“家庭”订单以及他们的个人订单,我希望Z只看到他的订单,因为他来自另一个部门。
我有三个相互链接的表
table 1- Registry Table 2- Outgoing table 3-Tuser
filenuber filenumber username
filename department department
requestedby
这些只是重要的领域。
select OUTGOING.FILENUMBER as FILENUMBER,
REGISTRY.FILENAME as FILENAME,
OUTGOING.DEPARTMENT as DEPARTMENT,
from REGISTRY REGISTRY,
OUTGOING OUTGOING,
TUSER TUSER
where REGISTRY.FILENUMBER(+) =OUTGOING.FILENUMBER
and OUTGOING.DEPARTMENT(+) =TUSER.department
and outgoing.requestby (+) = TUSER.username
这是我尝试过的,但所有用户都能看到数据。如果我添加
select OUTGOING.FILENUMBER as FILENUMBER,
REGISTRY.FILENAME as FILENAME,
OUTGOING.DEPARTMENT as DEPARTMENT,
from REGISTRY REGISTRY,
OUTGOING OUTGOING,
TUSER TUSER
where REGISTRY.FILENUMBER(+) =OUTGOING.FILENUMBER
and OUTGOING.DEPARTMENT(+) =TUSER.department
and outgoing.requestby (+) = TUSER.username
AND outgoing.Department =:APP_USER
这将意味着因为 x提出了请求而 y 并没有只有x会看到他的请求,即使y在同一个部门。
我想得到的是当X提出请求时,即使Y没有提出请求,Y也必须看到它,这是因为Y在同一个部门