`

oracle序列的创建和应用

阅读更多
序列(sequence)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

一、创建序列
CREATE SEQUENCE "SYSTEM"."sequencename"
INCREMENT BY n   //1
START WITH n     //2
            [{MAXVALUE/MINVALUE n | NOMAXVALUE}]    //3
[{CYCLE | NOCYCLE}]    //4
[{CACHE n | NOORDER}]    //5
说明:
1、用于定义序列的步长(增长量),如果省略,则默认为1,如果出现负值,则代表序列的值是按照此步长递减的
2、定义序列的初始值(即产生的第一个值),默认为1
3、定义序列生成器能产生的最大值
       选项NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递增序列,系统能够产生的最大值是10的27次方;对于递减序列,最大值是-1。
   MINVALUE 定义序列生成器能产生的最小值。
         选项NOMAXVALUE是默认选项,代表没有最小值定义,这时对于递减序列,系统能够产生的最小值是?10的26次方;对于递增序列,最小值是1。
4、CYCLE 和 NOCYCLE 表示当序列生成器的值达到限制值后是否循环。CYCLE代表循环,NOCYCLE代表不循环。
   如果循环,则当递增序列达到最大值时,循环到最小值;对于递减序列达到最小值时,循环到最大值。
   如果不循环,达到限制值后,继续产生新值就会发生错误。
5、CACHE(缓冲)定义存放序列的内存块的大小,默认为20。NOCACHE表示不对序列进行内存缓冲。
   对序列进行内存缓冲,可以改善序列的性能

二、删除序列
    DROP  SEQUENCE  序列名;

三、获取序列的当前值和下一个值
   SELECT 序列名.CURRVAL FROM dual; --获取序列的当前值
   SELECT 序列名.NEXTVAL FROM dual; --获取序列的下一个值
       也可以不用dual表,查询任意一张表的数据,只要保证查出的记录个数为1即可:
        SELECT   序列名.NEXTVAL FROM TABLE1 WHERE ID=1;

四、修改序列
    序列的start值,minvalue值不可修改,要修改只能删除重建。
    其余参数可修改,例如:
    alter sequence test increment By 10 ; //修改序列的递增间隔为10
    alter sequence test Increment By 10 nomaxvalue nocycle nocache ;  //修改序列为:以10递增,没有最大值,不循环,无缓存

五、查看序列
同过数据字典USER_OBJECTS可以查看用户拥有的序列。
通过数据字典USER_SEQUENCES可以查看序列的设置。

SELECT * FROM USER_OBJECTS;
SELECT * FROM USER_SEQUENCES;
分享到:
评论

相关推荐

    oracle实验9-10-索引与视图-序列和同义词的创建.doc

    Oracle 实验报告 - 索引、视图、序列和同义词的创建 本实验报告旨在介绍 Oracle 中的索引、视图、序列和同义词的概念和应用。通过实验,掌握创建索引、视图、序列和同义词的命令,并理解它们在数据库中的作用。 一...

    java通过Mysql实现类似oracle序列功能序列.rar

    在Java应用程序中,如果需要在MySQL环境中实现类似Oracle序列的功能,我们需要自己设计解决方案。以下是一些关键知识点的详细说明: 1. **Java连接MySQL**: - 首先,你需要使用JDBC(Java Database Connectivity...

    mysql生成oracle序列

    为了在MySQL中实现类似于Oracle序列的功能,可以通过创建一张特殊的表和几个自定义函数来实现。这种方法可以有效地模拟Oracle序列的行为,并能够根据指定的步长和长度来生成数值。 ##### 2.1 创建模拟序列的表 在...

    oracle 创建id主键序列 脚本

    总结来说,Oracle序列是实现主键自增的有效工具,通过创建和管理序列,可以确保数据的唯一性和有序性。在实际应用中,应根据具体需求调整序列的参数,如步长、缓存大小等,以优化性能和满足业务逻辑。

    oracle导出序列

    在实际工作中,理解并掌握如何导出和导入Oracle序列是十分重要的,这有助于数据库维护、迁移和灾难恢复。同时,合理地设计和使用序列,可以优化数据库性能,保证数据的完整性和一致性。在进行这些操作时,应始终注意...

    详解Oracle序列和触发器的使用

    总结,Oracle序列和触发器是数据库设计中的重要工具。序列用于生成唯一的整数序列,常作为主键,而触发器则允许在特定事件发生时自动执行代码,两者结合可以实现数据的自动管理和更新,提高数据管理的效率和准确性。...

    oracle 建表 建序列

    ### Oracle 创建表与序列知识点详解 #### 一、Oracle创建表的基本语法与示例解析 ...以上是关于Oracle创建表和序列的一些基本示例及详细解析。这些知识点对于实际工作中的数据库设计和维护具有重要的指导意义。

    oracle序列主键自增长

    本文将深入探讨Oracle序列主键自增长的工作原理、创建方法以及如何在表中应用。 **1. Oracle序列(Sequences)基础** Oracle序列是一个数据库对象,它可以生成一系列唯一的数字,这些数字可以被用作表的主键。序列...

    Oracle使用序列创建自增字段

    ### Oracle 使用序列创建自增字段 在数据库设计与开发中,自增字段是十分常见的需求之一,尤其是在需要为每一行记录自动分配一个唯一编号的情况下。Oracle 数据库通过序列(Sequence)这一特性支持自增字段的实现。...

    oracle序列的用法

    本文将深入探讨Oracle序列的基本概念、创建方法以及使用技巧。 #### 序列的概念 序列是一种数据库对象,可以按需生成连续的数值。这些数值可以是递增或递减的,并且可以根据设定的最小值和最大值循环生成。序列...

    oracle序列和触发器的建立

    ### Oracle序列和触发器的建立 #### 序列(Sequence) 在Oracle数据库中,序列是一种自动产生数值的对象,常用于为主键字段提供唯一值。序列主要用于实现表中的自增ID功能,例如,当用户需要为某张表的主键设置自...

    Oracle自增序列和触发器生成工具.zip

    总的来说,"Oracle自增序列和触发器生成工具"是数据库开发者的实用工具,它简化了在Oracle数据库中创建和管理自增序列及触发器的过程,使得数据表的设计和维护变得更加高效。通过熟练掌握和使用这样的工具,开发者...

    oracle同义词和序列

    Oracle 同义词和序列 Oracle 数据库中同义词和序列是两个重要概念,然而同义词的概念往往被人忽略。这篇文章将详细讲解同义词和序列的概念,并对其进行详细的介绍。 同义词是指表、视图、序列、过程、函数和包的...

    sqlserver中创建类似oracle序列的存储过程

    ### SQL Server 中创建类似 Oracle 序列的存储过程 #### 背景介绍 在数据库管理系统(DBMS)中,序列是一种自增的数据结构,常用于自动产生唯一标识符(如ID)。Oracle 数据库提供了非常方便的序列机制,而 SQL ...

    MySQL生成Oracle序列参考案例

    在实际迁移过程中,需要对原有应用中使用到Oracle序列的地方进行修改,以使用这些自定义的函数来保证应用逻辑的正确性。 整个案例的实施涉及到了对数据库结构的深入理解,以及对SQL语句编写和数据库对象(表、函数...

    Oracle数据库中序列的使用

    ### Oracle数据库中序列的使用 在Oracle数据库管理中,序列是一种非常实用的对象,它能够自动生成唯一的数值。这种特性使得序列在很多应用...正确地理解和应用序列功能,可以帮助开发者构建更加健壮和高效的应用程序。

    oracle自增序列

    根据给定的部分内容,我们可以看到一个具体的序列创建语句: ```sql CREATE SEQUENCE HIBERNATE_SEQUENCE MINVALUE 0 MAXVALUE 999999999999999999999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 20; ``` ...

    oracle通过触发器,实现序列自增

    #### 一、理解Oracle序列 在开始之前,首先需要了解Oracle中的序列。序列是一个数据库对象,它能够生成连续的整数序列。序列主要用于当需要为表中的某列自动生成唯一值时。例如,在插入新记录时,可以使用序列生成...

    oracle 创建序列

    通过上述介绍,我们了解到Oracle序列的基本操作方法。序列在实际应用中非常常见,尤其是在自动编号等场景下,能够极大地提高开发效率和系统性能。理解并掌握序列的创建、使用、修改和删除对于Oracle数据库开发者来说...

Global site tag (gtag.js) - Google Analytics