我想实现一个查询只返回登录的用户,并显示有只记录,这是我做了如下,它的工作原理:PL/SQL Oracle查询用IF语句
SELECT * FROM EMPLOYEE
WHERE UPPER(username) = v('APP_USER')
然而,我有另一个名为User_Type的列,并且用户可以是类型1,2或3.如果我有用户类型1,我希望查询也返回所有表记录,因为用户类型1是管理员。
我想过做这样的:
BEGIN
SELECT * FROM Employee
WHERE upper(username) = v('APP_USER')
IF User_Type = 1
THEN SELECT * FROM Employee
END IF;
END;
/
不过,这并不在APEX的Oracle PLSQL工作。
有什么建议吗?
当只使用app_user时,只返回该用户名记录,除非该用户具有'1'用户类型,然后返回整个表。 – 2013-04-11 12:03:28
我不明白。可能有许多记录满足'upper(username)= v('APP_USER')'? – drquicksilver 2013-04-11 12:09:46