Возможно ли иметь несколько операторов выбора в представлении на основании разрешения пользователя? Или что должно быть хорошей практикой? Я хотел бы иметь представление, которое показывает только данные, основанные на разрешении пользователя. Представление будет иметь код USER_ID = (SELECT SYSTEM_USER) Я планировал использовать Windows Аутентификация.
Я ожидаю, что пользователь abc@company.com увидит все данные из таблицы TRANS, пользователь def@company.com увидит только данные, основанные на запросе SUPERVISOR, а пользователь ghi@company.com сможет просмотреть все данные, основанные на запросе пользователя.
ЗАПРОС МЕНЕДЖЕРА
SELECT OrderNum, total, CustomerNum, Invoice, Order_Date, Region FROM TRANS
ЗАПРОС супервизора
SELECT OrderNum, total, Invoice, Order_Date, Region FROM TRANS
ЗАПРОС ПОЛЬЗОВАТЕЛЯ
SELECT OrderNum, total, Order_Date, Region FROM TRANS
WHERE only allow user to see the region assigned to them, example user with Region_N in
PERM_GROUP from Table: EMPLOYEE should only see data in Region "N"
Таблица: РАБОТОДАТЕЛЬ
USER_ID | PERM_GROUP
--------------------------------------
abc@company.com | Manager
def@company.com | Supervisor
ghi@company.com | User; Region_N
Таблица: TRANS
OrderNum | Total | CustomerNum | Invoice | Order_Date | Region
-----------------------------------------------------------------
25986 | 100 | Yahoo123 | ad589 | 10-28-12 | N
87456 | 700 | Google856 | cb124 | 05-17-12 | E
30123 | 450 | MSN907 | ab456 | 01-22-10 | S