日期:2014-05-16  浏览次数:20439 次

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