OracleSequence

OracleSequence

ID:39466840

大小:18.25 KB

页数:6页

时间:2019-07-04

OracleSequence_第1页
OracleSequence_第2页
OracleSequence_第3页
OracleSequence_第4页
OracleSequence_第5页
资源描述:

《OracleSequence》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1)建立序列命令CREATESEQUENCE[user.]sequence_name[incrementbyn][startwithn][maxvaluen

2、nomaxvalue][minvaluen

3、nominvalue];INCREMENTBY:指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。STARTWITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。MAXVALUE:指定序列可生成的最

4、大值。NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。MINVALUE:指定序列的最小值。NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。2)更改序列命令ALTERSEQUENCE[user.]sequence_name[INCREMENTBYn][MAXVALUEn

5、NOMAXVALUE][MINVALUEn

6、NOMINVALUE];修改序列可以:?修改未来序列值的增量。?设置或撤消最小值或最大值。?改变缓冲序列的数目。?指定序列号是否是有序。3)删除序列命令DROPSEQUENCE[u

7、ser.]sequence_name;从数据库中删除一序列。Oracle中SEQUENCES的使用Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方.下面介绍一下关于sequence的生成,修改,删除等常用的操作:1.创建Sequence使用如下命令新建sequence(用户需要有CREATESEQUENCE或者CREATEANYSEQUENCE权限):CREATESEQUENCEtest_sequenceINCREMENTBY1 --每次加的个数据STARTWITH1  -

8、-从1开始计数NOMAXVALUE   --不设置最大值NOCYCLE     --一直累加,不循环CACHE10;[注意]如果设置了CACHE值,ORACLE将在内存里预先放置一些sequence,以使存取速度更快。cache里面的取完后,oracle自动再取一组到cache。但是,使用cache可能会跳号,当遇到数据库突然异常down掉(shutdownabort),cache中的sequence就会丢失.因此,推荐在createsequence的时候使用nocache选项。2.使用sequence:sequence.CURRVAL--

9、返回sequence的当前值sequence.NEXTVAL--增加sequence的值,然后返回sequence值[注意]第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENTBY值,然后返回增加后的值。CURRVAL总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。sequence存储在数据字典中,存储于user_sequenc

10、es表LAST_NUMBER为最终序列号,也就是sequence游标当前所在的位置。//getsequencelast_numberSELECTLAST_NUMBERFROMUSER_SEQUENCESWHERESEQUENCE_NAME=TEST_SEQNAME//NEXTVAL使游标指向下一位(增一或减一)SELECTSEQNAME.NEXTVALFROMUSER_SEQUENCES得到下一位游标的值3.修改Sequence用户必须拥有ALTERANYSEQUENCE权限才能修改sequence.可以alter除start至以外的所有s

11、equence参数.如果想要改变start值,必须dropsequence再re-create.命令格式如下:ALTERSEQUENCEtest_sequenceINCREMENTBY10MAXVALUE10000CYCLE  --到10000后从头开始NOCACHE;4.删除Sequence其他版本oracle中没有自增类型的字段的,所以通常情况下需要定义一个sequence来作为自动增长类型字段的数据。  于是记录了一些关于oraclesequence的资料,已备查用!  Oracle中的序列(sequence)  1:如何定义一个序列

12、  仅向前的数字变量(和SQL中的自动编号有点像identity(1,2))  格式:  createsequence<序列名称>  startwith<起始数>  increm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。