序列是用于生产唯一、连续序号的对象。
序列可以是升序的,也可以是降序的。
创建序列
创建序列的语法:
create sequence 序列名
start with 起始值
increment by 增量
maxvalue 最大值 //是否有最大值,用于升序序列
minvalue 最小值 //是否有最小值,用于降序序列
nocycle //是否循环。若循环,在达到最大(小)值时下一个值从起始值开始;若不循环,在达到最大(小)值时停止产生下一个值,若取下一个值则会报错。
cache 数值 //内存中预先分配的序号数,若缺省则默认值为20。
//创建序列前先查看当前用户是否有创建序列的权限
SQL> show user;
User is "SCOTT"
//使用system用户查看scott用户所在的角色
SQL> select * from dba_role_privs d where d.grantee='SCOTT';
GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
SCOTT RESOURCE NO YES
SCOTT CONNECT NO YES
//使用scott用户查看自己所在的角色
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE OS_GRANTED
------------------------------ ------------------------------ ------------ ------------ ----------
SCOTT CONNECT NO YES NO
SCOTT RESOURCE NO YES NO
//使用scott用户查看自己拥有的权限
SQL> select * from role_sys_privs ;
ROLE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
RESOURCE CREATE