已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1) 建立序列命令CREATE SEQUENCE user.sequence_nameincrement by nstart with nmaxvalue n | nomaxvalueminvalue n | nominvalue;INCREMENT BY: 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。MAXVALUE:指定序列可生成的最大值。NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。MINVALUE:指定序列的最小值。NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。2) 更改序列命令ALTERSEQUENCE user.sequence_nameINCREMENT BY nMAXVALUE n| NOMAXVALUE MINVALUE n | NOMINVALUE;修改序列可以:? 修改未来序列值的增量。? 设置或撤消最小值或最大值。? 改变缓冲序列的数目。? 指定序列号是否是有序。3) 删除序列命令DROP SEQUENCE user.sequence_name;从数据库中删除一序列。 Oracle中SEQUENCES的使用Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方. 下面介绍一下关于sequence 的生成,修改,删除等常用的操作: 1. 创建 Sequence 使用如下命令新建sequence(用户需要有CREATE SEQUENCE 或者CREATE ANY SEQUENCE权限): CREATE SEQUENCE test_sequence INCREMENT BY 1 - 每次加的个数据 START WITH 1 - 从1开始计数 NOMAXVALUE - 不设置最大值 NOCYCLE - 一直累加,不循环 CACHE 10 ; 注意 如果设置了CACHE值,ORACLE将在内存里预先放置一些sequence,以使存取速度更快。cache里面的取完后,oracle自动再取一组到cache。 但是,使用cache可能会跳号, 当遇到数据库突然异常down掉(shutdown abort),cache中的sequence就会丢失. 因此,推荐在create sequence的时候使用 nocache 选项。 2. 使用 sequence: sequence.CURRVAL - 返回 sequence的当前值 sequence.NEXTVAL - 增加sequence的值,然后返回 sequence 值 注意第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。 CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次 SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。 sequence 存储在数据字典中,存储于user_sequences表LAST_NUMBER 为最终序列号,也就是sequence游标当前所在的位置。 /get sequence last_number SELECT LAST_NUMBER FROM USER_SEQUENCES WHERE SEQUENCE_NAME=TEST_SEQNAME / NEXTVAL 使游标指向下一位(增一或减一) SELECT SEQNAME.NEXTVAL FROM USER_SEQUENCES 得到下一位游标的值 3. 修改 Sequence 用户必须拥有ALTER ANY SEQUENCE 权限才能修改sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create. 命令格式如下: ALTER SEQUENCE test_sequence INCREMENT BY 10 MAXVALUE 10000 CYCLE - 到10000后从头开始 NOCACHE ; 4. 删除 Sequence 其他版本oracle中没有自增类型的字段的,所以通常情况下需要定义一个sequence来作为自动增长类型字段的数据。于是记录了一些关于oracle sequence的资料,已备查用!Oracle中的序列(sequence)1: 如何定义一个序列仅向前的数字变量(和SQL中的自动编号有点像 identity(1,2) )格式:create sequence start with increment by maxvalue 值minvalue 值cycle 当到达最大值的时候,将继续从头开始Nocycle - 一直累加,不循环Cache 注意:第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次SEQUENCE的值。如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。example:create sequence mySeq start with 1 increment by 2 maxvalue 40 minvalue 1 cycle2:怎么去取序列数据:currval-curenvalue nextVal-NextVlaue example: select mySeq.nextVal from dual注意一点:currval只有当nextVal执行一次以后才可以用.在创建表的时候,可以使用序列.具体例子:create table 公司基本信息表 ( ComPID int, CompName varchar2(20) ) insert into 公司基本信息表 values(mySeq.nextVal,AA)3:如何修改序列修改前提是sequence 的owner,或者有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create .Alter sequence 的例子:ALTER SEQUENCE emp_sequenceINCREMENT BY 10MAXvalue 10000CYCLE - 到10000后从头开始NOCACHE影响Sequence的初始化参数:SEQUENCE_CACHE_ENTRIES =设置能同时被cache的sequence数目。也可以这样alter sequence mySeq maxvalue 500注意:不能改start with,其他随便改(设置minvalue值的时候不能大于当前值)4:如何查看删除某个表空间所有序列查看:select *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届湖南省宁乡县一中生物高一上期末达标检测试题含解析
- 2026届上海外国语大学附属外国语学校化学高二第一学期期末综合测试试题含解析
- 广东省仲元中学等七校联合体2026届高二上物理期末监测模拟试题含解析
- 2025年甘肃省兰州大学附中高二上生物期末达标测试试题含解析
- 糖尿病胰岛素治疗规范
- 儿科预防接种针对常见传染病培训规范
- 急诊科中暑处理急救措施
- 药剂科药物不良反应处理措施
- 妊娠期高血压护理管理
- 急诊科突发性心肌梗死急救教程
- 2024年中小学生品格提升工程项目申报
- 2025至2030中国特种油脂行业市场深度研究及发展前景投资可行性分析报告
- 土建工程分包管理办法
- 2025年惠州出租车区域考试题
- 危险化学品材质相溶性矩阵表
- 中药给药指导及中药应用注意事项讲课件
- 中医内科病案分析讲课件
- 智慧校园建设“十五五”发展规划
- 2025年研究生入学考试《管理类联考》试卷真题及完整解析
- 2025至2030年中国智能炒菜机(炒菜机器人)行业市场现状调查及前景战略研判报告
- 2025至2030年中国聚乙烯蜡行业市场运行态势及发展前景研究报告
评论
0/150
提交评论