Oracle之序列(主键自增)

Oracle完成自动的功能,则只能依靠序列完成,所有的自动增长操作,需要用户收工完成处理。 序列的创建格式: CREATE SEQUENCE sequence [INCREMENT BY n][STARTWITH n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE|NOCYCLE}] [

在Oracle中完成自动增长的功能,则只能依靠序列完成,所有的自动增长操作,需要用户收工完成处理。
序列的创建格式:
CREATE SEQUENCE sequence 
[INCREMENT BY n][STARTWITH n] 
[{MAXVALUE n | NOMAXVALUE}] 
[{MINVALUE n | NOMINVALUE}] 
[{CYCLE|NOCYCLE}] 
[{CACHE n|NOCACHE}] ; 
范例:创建一个myseq的序列,验证自动增长的操作。
CREATE SEQUENCE myseq ; 
序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中提供了一下的两种操作:
nextVal : 学的序列的下一个内容
currVal : 去的序列的当前内容
范例:建立一张以验证序列的操作
CREATE TABLE testseq( 
next NUMBER , 
curr NUMBER 
) ; 
现在向表中添加数据,添加数据的时候需要手工使用序列
范例:使用序列
INSERT INTO testseq(next,curr) VALUES (myseq.nextval,myseq.currval) ; 
该操作执行5次。
查询testseq表:
SELECT * FROM testseq ; 
可以发现,newVal的内容是种在进行自动增长的操作,而currVal使用取出当前操作的序列结果。
也就是说,现在这种序列,每次增长的幅度是1,也可以修改序列的增长幅度。
每次的增长幅度 INCREMENT BY 长度
范例:
删除序列:
DROP SEQUENCE myseq ; 
重新创建序列:
CREATE SEQUENCE myseq INCREMENT BY 2; 
再创建表,进行test:
DROP TABLE testseq ; 
CREATE TABLE testseq( 
next NUMBER , 
curr NUMBER 
) ; 
插入5个数据,测试:
INSERT INTO testseq(next,curr) VALUES (myseq.nextval,myseq.currval) ; 
默认情况下,序列从1开始,那么也可以使用 START WITH 指定其开始位置。
DROP SEQUENCE myseq ; 
CREATE SEQUENCE myseq INCREMENT BY 2 STARTWITH 10 ;–从10开始 
创建一个序列,让其取固定值在1、3、5、7、9,循环序列。
DROP SEQUENCE myseq ; 
CREATE SEQUENCE myseq MAXVALUE 10 INCREMENT BY 2 START WITH 1 
CACHE 2 CYCLE;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1701832.html

(0)
上一篇 2025年2月19日 14:47:23
下一篇 2025年2月19日 14:47:38

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Oracle中如何更新一张大表记录

    我们要看到Oracle Update的另一个方面,就是Undo、Redo和进程工作负载的问题。熟悉Oracle的朋友们知道,在DML操作的时候,Undo和 sql语句是一种方便的语言,同样也是一种“迷惑性”的语言。这个主要体现在它的集合操作…

    数据库 2025年2月23日
    100
  • Win10远程连接提示函数错误怎么办 Win10远程连接提示函数错误解决方法

    win10远程连接函数错误无法连接?当您在尝试远程连接windows 10电脑时遇到函数错误,这可能会阻碍您的连接尝试。如果您遇到此问题,请继续往下阅读,了解php小编香蕉提供的详细解决方案。本文将逐步指导您解决函数错误,让您能够成功建立远…

    2025年2月23日
    100
  • AWR的基本知识

    自从Oracle 10g开始支持AWR以后,相比于Statspack,除了有更多新的内容可供参考,HTML保存格式也是为查看文档提供了很多便利。说 自从oracle 10g开始支持awr以后,相比于statspack,除了有更多新的内容可供…

    数据库 2025年2月23日
    100
  • SQLite4 的设计

    SQLite4 对于SQLite3而言,是一个可选方案,而不是一个替代方案. SQLite3 还没有过时. SQLite3 和 QLite4 将会并行受到支持. SQL 1.0 内容提要 sqlite4 是一个放在库中的紧凑的,自包含的,零…

    数据库 2025年2月23日
    100
  • Oracle dbstart 无法正常启动处理办法

    Oracle dbstart 无法正常启动处理办法 [oracle@CentOS-1 ~]$ dbstart ORACLE_HOME_LISTNER is not SET, unable to auto-start Or oracle db…

    数据库 2025年2月23日
    100
  • 使用awk来解析dump文件

    dump文件是平时工作中经常碰见的,有时候得到一个dump,但是没有提供一些更多的信息,导入的时候就很可能会有问题。如果某个用户 dump文件是平时工作中经常碰见的,有时候得到一个dump,但是没有提供一些更多的信息,导入的时候就很可能会有…

    数据库 2025年2月23日
    100
  • 物理DG从库损坏后的重建

    由于是重建,原来DG环境中被重建的物理从库中的数据文件,日志文件,dump文件等都可以删除,切记原来的参数文件和相应目录一定要保 由于是重建,原来dg环境中被重建的物理从库中的数据文件,日志文件,dump文件等都可以删除,切记原来的参数文件…

    数据库 2025年2月23日
    100
  • Oracle性能优化有时就这么简单_index

    性能优化有时就这么简单 一、概述 最近有一个系统(aix6.1+Oracle10.2.0.5 RAC)CPU每五分钟就达到百分之百,这个系统是监控系统 性能优化有时就这么简单 一、概述 最近有一个系统(aix6.1+Oracle10.2.0…

    数据库 2025年2月23日
    100
  • Oracle 重建表(rename)注意事项总结

    前一段时间,有一个DBA朋友在完成重建表(rename)工作后,第二天早上业务无法正常运行,出现数据无法插入的限制和错误,后来分析才 一、概述 前一段时间,有一个DBA朋友在完成重建表(rename)工作后,第二天早上业务无法正常运行,出现…

    数据库 2025年2月23日
    100
  • Oracle Outline总结

    Oracle Outline,中文也称为存储大纲,是最早的基于提示来控制SQL执行计划的机制,也是9i以及之前版本唯一可以用来稳定和控制SQL 一、基本概述 注意: 注意: SQL解析时,,使用SQL文本却匹配数据字典outline保存的文…

    数据库 2025年2月23日
    100

发表回复

登录后才能评论