2015-10-28 7 views
0

Это привилегии объекта для пользователя в базе данных netezza. Он говорит (S), но пользователь не может видеть виды, только таблицы. Почему это?Пользователь не видит просмотр, видит только таблицы

Object Privileges 
    (L)ist (S)elect (I)nsert (U)pdate (D)elete (T)runcate (L)ock 
    (A)lter (D)rop a(B)ort (L)oad (G)enstats Gr(O)om (E)xecute 
    Label-A(C)cess Label-(R)estrict Label-E(X)pand Execute-(A)s 
Administration Privilege 
    (D)atabase (G)roup (U)ser (S)chema (T)able T(E)mp E(X)ternal 
    Se(Q)uence S(Y)nonym (V)iew (M)aterialized View (I)ndex (B)ackup 
    (R)estore va(C)uum (S)ystem (H)ardware (F)unction (A)ggregate 
    (L)ibrary (P)rocedure U(N)fence (S)ecurity Scheduler (R)ule 

ответ

0

LIST разрешает вам видеть объект, а TABLE - это другой класс объектов, чем VIEW.

Если вы хотите, чтобы пользователь увидел представление, вы должны предоставить LIST в этом представлении (или общий класс объектов VIEW). Предоставление LIST или SELECT в таблице (или класс объекта TABLE) не имеет никакого отношения к тому, может ли пользователь видеть VIEW.

Если вы имели две точки зрения названные VIEW_1 и VIEW_2 вы можете либо сделать что-то вроде:

GRANT LIST, SELECT on VIEW_1, VIEW_2 to USER1234 

или если вы хотите их иметь эти разрешения для всех видов в области базы данных, предоставляемых вами VIEW, который является ссылку на класс объекта для всех представлений.

GRANT LIST, SELECT on VIEW to USER1234 

Аналогично можно предоставить в таблице (которая представляет класс объекта таблицы), и что будет применяться ко всем таблицам в области.

+0

Каков общий класс объектов класса? – Victor

+0

VIEW - это класс объектов для всех представлений, а ТАБЛИЦА одинакова для всех таблиц. Добавлены образцы ответа. – ScottMcG