您的位置:首页 > 数据库 > Oracle

oracle 浅见 sequence

2012-12-05 20:36 411 查看
我现在刚开始系统的学习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增长。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: