2016-05-28 2 views
0

Я хотел бы иметь возможность предоставлять привилегии чтения для всей информации в представлении, за исключением строк, где DOB не пуст (то есть пользователь может читать только строку, где DOB является нулевой). Это возможно? Пример (который не работает, что я хотел бы работать) является:SQL можно добавить предложение WHERE в инструкцию GRANT SELECT?

GRANT SELECT ON DRVADM WHERE DOB IS NULL TO user_2; 

Благодаря

+0

почему вы не добавить условие самого представления? или сделать еще один вид с dob - это нулевое условие –

+1

это для домашней задачи, к сожалению, и он должен использовать представление DRVADM, у которого уже есть другой пользователь с разными привилегиями чтения – Animorphs

+0

извинения, его просто локальный sql, выполненный через терминал Ubuntu – Animorphs

ответ

0
  1. Я предполагаю, что вы используете mysql (для подтверждения того, что, отправлять команды, которые вы используете для подключения к база данных с вашего сеанса терминала).
  2. Вы не можете GRANT на основе строк, только на уровне столбцов/таблиц. Там нет WHERE оговорки к GRANT SELECT заявления в mysql docs
  3. Вы могли бы рассмотреть вопрос о создании VIEW только выбранных строками (те, которые он должен видеть). Затем предоставить пользователю доступ к этому VIEW (= до всех ее строк)
+0

Да, используя mysql в терминале, связанный с use database1; И поскольку это домашняя задача (как уже упоминалось выше), я не могу создать новый вид, я должен использовать DRVADM, который имеет другое использование, позволяющее читать все. – Animorphs

+0

Если ваша задача буквально «предоставляет привилегии чтения для всей информации в пределах view except some rows ", то я не вижу возможного решения с mysql (из-за причины, объясненной во втором пункте моего ответа). –

+0

Это буквально та часть задачи, так что спасибо вам, я должен поговорить с нашим наставником об этом. Это выглядит следующим образом (я сделал 3, но 4 связан с этим вопросом): (3) Скрипт предоставляет привилегию чтения для всей информации, включающей представление DRVADM пользователю_1. (4) Далее скрипт предоставляет привилегию чтения для всей информации, включенной в представление DRVADM, за исключением строк, где дата рождения не пуста для пользователя_2 – Animorphs

 Смежные вопросы

  • Нет связанных вопросов^_^