现在的位置: 首页 > 综合 > 正文

oracle 浅见 sequence

2013年09月13日 ⁄ 综合 ⁄ 共 811字 ⁄ 字号 评论关闭
我现在刚开始系统的学习oracle,看了一点视频,把觉得重要的记下,一便日后方便查看;

(1)创建sequence,sequence是序列..创建一个序列,让它从一开始,每次动作加一;
create sequence myseq start with 1 increment by 1 order
nocycle; 最后的nocycle是不需要循环;
测试的方式 select myseq.nextval from dual;
这样在command中执行的时候,第一次显示一,第二次重复执行的时候显示二;我对其中的dual表不太理解;
(2)查询当前的值
select myseq.currval from dual;
值得注意的是:currval必须在nextval之后使用;
(3)序列在缓存中的量不是很高,不是很大;对应的nocycle,在一定程度上会影响性能,因为会造成对磁盘的访问,因此性能上不太好;
(4)当我创建表的时候: create table table_A(id
number,name varchar2(4000));
向表中插入数据: insert into table_A
values(myseq.nextval,'一号选手');
insert
into table_A values(myseq.nextval,'二号选手');
insert
into table_A values(myseq.nextval,'三号选手');
那么查询的结果:select * from table_A;
 
    
   ID NAME
----------
--------------------------------------------------------------------------------
    
    3 一号选手
    
    4 二号选手
    
    5 三号选手
ID 是序列的自增。
(5)改变sequence的增量
alter sequence myseq increment by 3; 序列增量按3增长。

抱歉!评论已关闭.