Teradata - создает представления таблиц в другой базе данных - PullRequest
0 голосов
/ 12 июня 2019

Мне нужно создать в Teradata ВИДЫ таблиц в другой базе данных. Я создал оба, но теперь, когда выбираю VIEW, отображается следующая ошибка: «Таблица / представление« MyDatabase.MyView »не найдена или у вас нет прав доступа» .

Какие права нужны пользователю, представлению, таблице, базе данных ..., чтобы это работало? И в какое время и как мне их давать?

Спасибо!

1 Ответ

0 голосов
/ 19 июня 2019

Предположим, у нас есть SomeDB.TableOrViewA и представление MyViews.ViewX , которое ссылается на SomeDB.TableOrViewA . «Владелец вида» MyViews может предоставлять доступ (через ViewX ) только в том случае, если MyViews обладает соответствующими правами WITH GRANT OPTION.

Чтобы ПользовательN (который не является создателем MyViews.ViewX ) до SELECT из представления, не только должен ПользовательN удерживаться SELECT разрешение на MyViews.ViewX (или на всю MyViews базу данных), но MyViews база данных также должна содержать SELECT WITH GRANT OPTION разрешение для SomeDB.TableOrViewA или для всей базы данных SomeDB . Это верно независимо от того, имеет ли UserN разрешение SELECT на базовый SomeDB.TableOrViewA .

GRANT SELECT ON SomeDB.TableOrViewA TO MyViews WITH GRANT OPTION;

или GRANT SELECT ON SomeDB TO MyViews WITH GRANT OPTION;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...