1

我有tbl_projects一个带字段的表"role"。我想使用这个字段作为参数来过滤每个用户可以访问的数据。示例:我是 HR(我的角色)的员工,我看不到 IT(其他角色)的项目。

我的应用程序使用 OSAuth。如何在 firebird 中构建一个视图来过滤基于所有角色的数据?

示例:此视图仅过滤“HR”角色。我需要过滤所有角色。

CREATE OR ALTER VIEW HR_PROJECTS_VIEW(
    (_other_fields_)
    "ROLE")
AS
select
    P.(_other_fields_)
    P.ROLE
from 
    TBL_PROJECTS P
where 
    P.ROLE = 'HR';
4

1 回答 1

4

使用CURRENT_ROLE上下文变量:

CREATE OR ALTER VIEW HR_PROJECTS_VIEW(
...
where 
    P.ROLE = CURRENT_ROLE;
于 2013-07-26T19:30:35.893 回答