


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
序列是一数据库对象,利用它可生成唯一的整数。一般使用序列自动地生成主码值。一个序列的值是由特殊的Oracle程序自动生成,因此序列避免了在应用层实现序列而引起的性能瓶颈。Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。当一个序列号生成时,序列是递增,独立于事务的提交或回滚。允许设计缺省序列,不需指定任何子句。该序列为上升序列,由1开始,增量为1,没有上限。 1) 建立序列命令 CREATE SEQUENCE user.sequence_name increment by n start with n maxvalue n | nomaxvalue minvalue n | nominvalue; INCREMENT BY: 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。 START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。 MAXVALUE:指定序列可生成的最大值。 NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。 MINVALUE:指定序列的最小值。 NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。 2) 更改序列命令 ALTERSEQUENCE user.sequence_name INCREMENT BY n MAXVALUE n| NOMAXVALUE MINVALUE n | NOMINVALUE; 修改序列可以: ? 修改未来序列值的增量。 ? 设置或撤消最小值或最大值。 ? 改变缓冲序列的数目。 ? 指定序列号是否是有序。 3) 删除序列命令 DROP SEQUENCE user.sequence_name; 从数据库中删除一序列。 创建一个序列号的语句: CREATE SEQUENCE EXAM_NO_SEQ START WITH 1484 MAXVALUE 9999999999 MINVALUE 1 CYCLE CACHE 20 NOORDER; PB中取序列号的用法: string v_exam_no /获取申请序号 SELECT exam_no_seq.nextval INTO :v_exam_no FROM dual using ghis_database; if ghis_database.SQLCODE0 then messagebox(,取检查序号出错) return end if在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT BY 1 - 每次加几个 START WITH 1 - 从1开始计数 NOMAXVALUE - 不设置最大值 NOCYCLE - 一直累加,不循环 CACHE 10; 一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL CURRVAL=返回 sequence的当前值 NEXTVAL=增加sequence的值,然后返回 sequence 值 比如: emp_sequence.CURRVAL emp_sequence.NEXTVAL 可以使用sequence的地方: - 不包含子查询、snapshot、VIEW的 SELECT 语句 - INSERT语句的子查询中 - NSERT语句的VALUES中 - UPDATE 的 SET中 可以看如下例子: INSERT INTO emp VALUES (empseq.nextval, LEWIS, CLERK,7902, SYSDATE, 1200, NULL, 20); SELECT empseq.currval FROM DUAL; 但是要注意的是: - 第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENTBY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。明白? - 如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。 2、Alter Sequence 你或者是该sequence的owner,或者有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create . Alter sequence 的例子 ALTER SEQUENCE emp_sequence INCREMENT BY 10 MAXVALUE 10000 CYCLE - 到10000后从头开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》试题一及参考答案详解ab卷
- 2025就业援疆浙江省事业单位招聘阿克苏籍少数民族高校毕业生(7人)考试模拟试题及答案解析
- 基于2025年的跨境电商进口风险预防与品牌形象维护报告
- 基于2025年的货运代理行业服务质量提升与创新研究报告
- 教师招聘之《小学教师招聘》高分题库及参考答案详解【b卷】
- 2025年教师招聘之《小学教师招聘》考前冲刺练习题库带答案详解(突破训练)
- 教师招聘之《小学教师招聘》能力提升试题打印及答案详解(全优)
- 教师招聘之《幼儿教师招聘》练习题库附参考答案详解【研优卷】
- 2025年发展对象考试试题库及参考答案
- 教师招聘之《小学教师招聘》综合检测题型汇编及答案详解参考
- 二零二五版公司股权质押协议的模板
- 2025年保安证考试沟通能力试题及答案
- 2025年禁毒社工考试试题及答案
- T-CTSS 90-2024 茶叶碳足迹核算方法
- 劳动合同法全文(2024年版)
- 餐饮服务与数字化运营 习题及答案 项目三
- 预防校园欺凌家长告知书
- 《空调基础知识》课件
- 南海区高一上学期9月初高中衔接测试语文试题(含答案)
- 事业单位考试职业能力倾向测验(自然科学专技类C类)试卷及解答参考(2025年)
- 人教统编版(部编版)小学科学教材目录
评论
0/150
提交评论