Возможно ли иметь несколько операторов выбора в представлении? Или что это должно быть? - PullRequest
0 голосов
/ 15 января 2020

Возможно ли иметь несколько операторов выбора в представлении на основании разрешения пользователя? Или что должно быть хорошей практикой? Я хотел бы иметь представление, которое показывает только данные, основанные на разрешении пользователя. Представление будет иметь код 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...