ITPub博客

首页 > Linux操作系统 > Linux操作系统 > PL/SQL 序列 Sequence

PL/SQL 序列 Sequence

原创 Linux操作系统 作者:decai_zhang 时间:2010-06-24 10:53:34 0 删除 编辑

序列:

自动产生的唯一值;
一个共享的对象;
典型的用法是作为主键的值;
insert into 给主键提供值。
替代了应用的代码;
通过将序列CACHE(预先生成一部分序列号,放入到内存中)到内存中,可以加速对序列的访问。

CREATE SEQUENCE sequence_name
  [increment by n]//步长
  [start with n]//起始点
  [maxvalue n/nomaxvalue]//递增
  [minvalue n/nominvalue]//递减
  [cycle/nocycle]//循环
  [cache n/nocache];//n为预先生成序列号的个数,默认为20。

查询序列:
user_sequences
last_number 序列将要产生的下一个号是多少;

select sequence_name,min_value,max_value,increment_by last_number from user_sequences;

伪列:NEXTVAL 引用下一个可用的序列值,不同的用户每次引用都会获得一个唯一的值。
      CURRVAL 得到当前的值(刚被领走的号)。
在CURRVAL执行前必须先通过NEXTVAL得到一个初始的值。

序列名.NEXTVAL/CURRVAL
  
序列发生间隙是正常的,保证唯一即可。


序列的修改:
   ALTER SEQUENCE sequence_name 
   increment by
  maxvalue
  cycle    
  cache;

start with 不能修改。

删除序列:

drop  SEQUENCE sequence_name;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23739124/viewspace-666051/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: PL/SQL 索引 Index
请登录后发表评论 登录
全部评论

注册时间:2010-04-17

  • 博文量
    25
  • 访问量
    55218