我现在刚开始系统的学习oracle,看了一点视频,把觉得重要的记下,一便日后方便查看;
ID NAME
3 一号选手
4 二号选手
5 三号选手
(1)创建sequence,sequence是序列..创建一个序列,让它从一开始,每次动作加一;
create sequence myseq start with 1 increment by 1 order
nocycle; 最后的nocycle是不需要循环;
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));
number,name varchar2(4000));
向表中插入数据: insert into table_A
values(myseq.nextval,'一号选手');
values(myseq.nextval,'一号选手');
insert
into table_A values(myseq.nextval,'二号选手');
into table_A values(myseq.nextval,'二号选手');
insert
into table_A values(myseq.nextval,'三号选手');
into table_A values(myseq.nextval,'三号选手');
那么查询的结果:select * from table_A;
----------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ID 是序列的自增。
(5)改变sequence的增量
alter sequence myseq increment by 3; 序列增量按3增长。