Oracle中序列的操作以及使用前对序列的初始化


一 创建序列
create sequence myseq
start with 1
increment by 1
nomaxvalue
minvalue 1

二 初始化序列
select myseq.nextval from dual;
这里值得注意的是,如果先直接写select myseq.currval from dual,会提示会提示myseq.currtval尚未在此会话中定义。

三 使用序列
初始化序列之后才可以使用该序列,我们以ibatis为例。
<insert id="insert" parameterClass="Student">
<selectKey resultClass="String" keyProperty="mid">
select myseq.nextval from dual
</selectKey>
<![CDATA[
insert into Student(id,name,age)
values(#mid#,#mname#,#mage#)
    ]]>
</insert>

四 修改序列
在修改序列的时,有以下值不能修改
1 不能修改序列的初始值
2 序列的最小值不能大于当前值(currval)
3 序列的最大值不能小于当前值(currval)
alter sequence myseq
increment by 2

五 删除序列
drop sequence myseq

相关内容