--使用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也不行?
这样行不?
不过,还是建议你不要在sys和system下创建这些对象。