我得到"ORA-00990: missing or invalid privilege"
这样的声明:
GRANT USAGE ON SEQUENCE SOME_SEQUENCE TO SOME_USER;
我在互联网上研究过这个问题,就我所知,这个语法绝对正确,序列的名称正确,用户正确,类似的表访问权限授予也工作正常,但我就是无法授予对序列的访问权限。如果SOME_USER
尝试调用该序列,我会得到可怕的"ORA-00942: table or view does not exist"
。
雪上加霜的是,用过的可以工作,但是 IT 人员重新创建了数据库(不,我不知道他们到底做了什么,他们可能也不知道),现在发生了这种情况。
有人知道我做错了什么吗?
回答:@加里为我指明了正确的方向;实际的语法是:
GRANT SELECT ON SOME_SEQUENCE TO SOME_USER;
奇怪的是,我已经尝试过:
GRANT SELECT ON SEQUENCE SOME_SEQUENCE TO SOME_USER;
并收到错误"ORA-00905: missing keyword"
,当问题出在额外的关键词。
答案1
神谕者文档没有显示“USAGE”权限的存在。我从未在序列上使用过除 SELECT 权限之外的任何其他权限。
该语法确实适用于 Postgres/DB2