я собираюсь "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