Назад | Перейти на главную страницу

Не удается исправить «ORA-00990: права доступа отсутствуют или недействительны» в последовательности

я собираюсь "ORA-00990: missing or invalid privilege" об этом заявлении:

GRANT USAGE ON SEQUENCE SOME_SEQUENCE TO SOME_USER;

Я исследовал это по всему Интернету и AFAICT, этот синтаксис абсолютно правильный, имя последовательности правильное, пользователь правильный, и аналогичные гранты для доступа к таблицам работают нормально, но я просто не могу предоставить доступ к последовательность. И если SOME_USER пытается вызвать последовательность, я получаю ужасный "ORA-00942: table or view does not exist".

Дополнительным оскорблением к травме является то, что это используемый чтобы работать, но ИТ-специалисты воссоздали базу данных (нет, я не знаю, что именно они сделали, и они, вероятно, тоже не знают), и теперь это происходит.

Кто-нибудь знает, что я делаю не так?

Ответ: @ Гэри указал мне в правильном направлении; фактический синтаксис:

 GRANT SELECT ON SOME_SEQUENCE TO SOME_USER;

Любопытно, что я уже пробовал:

 GRANT SELECT ON SEQUENCE SOME_SEQUENCE TO SOME_USER;

и получил ошибку "ORA-00905: missing keyword", что является любопытным сообщением, когда проблема заключается в дополнительный ключевое слово.

Оракул документация не показывает наличие привилегии «ИСПОЛЬЗОВАНИЕ». Я никогда не использовал для последовательности ничего, кроме привилегии SELECT.

Этот синтаксис действительно отображается для Postgres / DB2