SEQUENCE 权限问题?

Leshami
博客专家认证
2010-06-24 10:25:13

--使用sys帐户创建了一个序列
SQL> CREATE SEQUENCE my_seq
2 INCREMENT BY 10
3 START WITH 100
4 MAXVALUE 150
5 NOCACHE
6 NOCYCLE;

Sequence created.

SQL> SELECT my_seq.nextval FROM dual;

NEXTVAL
----------
100

--并将授权给robinson用户
SQL> conn sys as sysdba
Enter password:
Connected.
SQL> GRANT ALL ON my_seq TO robinson;

Grant succeeded.

--使用robinson登陆后
SQL> conn robinson/lion
Connected.
SQL> select my_seq.nextval from dual;
select my_seq.nextval from dual
*
ERROR at line 1:
ORA-02289: sequence does not exist

--查看权限时存在的

SQL> select grantee,owner,table_name,grantor,privilege from user_tab_privs;

GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE
---------- ---------- ------------- -------------- --------------
ROBINSON SCOTT EMP SCOTT SELECT
ROBINSON SYS MY_SEQ SYS SELECT
ROBINSON SYS MY_SEQ SYS ALTER

提示序列不存在,是什么原因啊? insert也不行?



...全文
286 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leshami 2010-06-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ngx20080110 的回复:]
select sys.my_seq.nextval from dual;
这样行不?
不过,还是建议你不要在sys和system下创建这些对象。
[/Quote]
OK ,你这个方法可以使用,谢谢
ngx20080110 2010-06-24
  • 打赏
  • 举报
回复
select sys.my_seq.nextval from dual;
这样行不?
不过,还是建议你不要在sys和system下创建这些对象。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧