Oracle中的序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

    创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下:

 

;

 

    修改: 序列的某些部分可以在使用中进行修改,但不能修改SATRT WITH选项。对序列的修改只影响随后产生的序号,已经产生的序号不变。
    修改序列的语法如下:
1创建序列ALTER SEQUENCE table_S
2创建序列        INCREMENT BY 10 
3创建序列        MAXVALUE 10000 
4创建序列        CYCLE                         -- 到10000后从头开始 
5创建序列         NOCACHE ; 
6创建序列

P.S:
第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。

删除:
1创建序列DROP SEQUENCE order_seq;

    删除序列的人应该是序列的创建者或拥有DROP ANY SEQUENCE系统权限的用户。序列一旦删除就不能被引用了。
 

相关文章:

  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2021-07-18
  • 2022-12-23
  • 2021-06-10
  • 2021-05-21
  • 2022-12-23
猜你喜欢
  • 2021-12-19
  • 2021-06-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案