ログインしたユーザーのみを返し、そこにレコードのみを表示するクエリを実装したいと思います。これは次のように実行したところ、機能します。
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 では機能しません。
助言がありますか?