`

ORACLE序列(字段自增长)

 
阅读更多

序列: 是oacle提供的用于产生一系列唯一数字的数据库对象。

Ø 自动提供唯一的数值

Ø 共享对象

Ø 主要用于提供主键值

Ø 将序列值装入内存可以提高访问效率

 

创建序列:

1、  要有创建序列的权限 create sequence 或 create any sequence

2、  创建序列的语法

CREATE SEQUENCE sequence  //创建序列名称

       [INCREMENT BY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1

       [START WITH n]    //开始的值,递增默认是minvalue 递减是maxvalue

       [{MAXVALUE n | NOMAXVALUE}] //最大值

       [{MINVALUE n | NOMINVALUE}] //最小值

       [{CYCLE | NOCYCLE}] //循环/不循环

       [{CACHE n | NOCACHE}];//分配并存入到内存中

 

1、创建一张表

CREATE table cdpt(

id number(6),

name varchar2(30),

constraint pk_id primary key(id)

)

 

2、创建序列

CREATE SEQUENCE seq_cdpt

Increment By 1--<span style="font-family:Arial,Helvetica,sans-serif">每次增量为1</span>

Start With 1--<span style="font-family:Arial,Helvetica,sans-serif">初始值默认为1</span>

Maxvalue 99999--增量的最大上限

Minvalue 1--增量的最小底限

Nocycle

 

Nocache;

 

3、使用序列,两种方法

①、不使用触发器,在插入时在sql语句中调用序列

--不使用触发器,在插入时在sql语句中调用序列

Insert Into cdpt Values(seq_cdpt.nextval,'序列');

Insert Into cdpt Values(seq_cdpt.nextval,'123');

Commit;

 

Select * From cdpt

 

②、--建立触发器,当有数据插入表时,使用oracle序列为其去的递增的主键值

Create Trigger cdpt_test Before Insert On cdpt

For Each Row

Begin

Select seq_cdpt.nextval Into:new.id From dual;

End;

 

Insert Into cdpt Values('www');

4、修改序列

修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存

如:Alter sequence seq_cdpt increment by 2;

 

修改序列的注意事项:

Ø 必须是序列的拥有者或对序列有 ALTER 权限

Ø 只有将来的序列值会被改变

Ø 改变序列的初始值只能通过删除序列之后重建序列的方法实现

5、删除序列

drop  sequence seq_cdpt;

分享到:
评论

相关推荐

    oracle字段自增长

    Oracle 字段自增长是指在 Oracle 数据库中,通过创建序列和触发器来实现字段的自动增长功能。在 Java 编程过程中,这种机制可以用来生成唯一的序号,例如订单号、流水号等。 在 Oracle 10g 中,实现字段自增长需要...

    oracle序列主键自增长

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

    oracle中用序列实现自动增长值

    总之,Oracle序列是实现字段自动增长值的有效工具。它们提供了灵活的配置选项,可以适应各种业务需求,并确保在多用户环境中生成唯一的序列号。通过理解序列的工作原理和使用方法,你可以更有效地管理Oracle数据库中...

    oracle 创建字段自增长实现方式

    mysql等其他数据库中有随着记录的插入而表ID自动增长的功能,而oracle却没有这样的功能,我们有以下两种方式可以解决字段自增长的功能。  因为两种方式都需要通过创建序列来实现,这里先给出序列的创建方式。 ...

    实现oracle数据库字段自增长(两种方式)

    主要通过两种方式实现oracle数据库字段自增长,第一种方式是序列+触发器,第二种方式序列+显示调用序列,需要的朋友可以参考下

    oracle触发器实现主键自动增长

    而序列则是一种生成连续整数的数据库对象,常用于为主键字段提供自动增长的值。 ### 实现步骤 #### 步骤一:创建序列 序列是实现主键自动增长的基础,首先我们需要创建一个序列。在给定的部分内容中,已经展示了...

    oracle设置主外键即主键序列自动增长

    ### Oracle 设置主外键及主键序列自动增长 在Oracle数据库管理系统中,为了确保数据的一致性和完整性,经常需要设置主键(Primary Key)和外键(Foreign Key)。此外,为了方便管理和操作,通常还会使用序列...

    oracle主键自动增长

    #### 一、Oracle序列(Sequence)的使用方法 在Oracle数据库中,并没有像MySQL那样的自动增长字段特性,因此在实际应用中,我们常常需要手动实现这一功能。序列(Sequence)是Oracle提供的一种用于生成一系列唯一...

    oracle设置主键自动增长

    本文详细介绍了在 Oracle 数据库中设置主键自动增长的过程,包括创建表、创建序列、创建触发器以及相关操作等。通过这种方式,可以简化数据管理,提高开发效率,同时确保主键值的唯一性。希望这些知识点能对你有所...

    两种oracle创建字段自增长的实现方式

    介绍了两种oracle创建字段自增长的实现方式,一是序列+触发器,二是序列+显示调用序列,需要的朋友可以参考下

    创建Oracle触发器用于表中序列值自增长(Helloblock写作)

    通过上述步骤,我们成功地实现了Oracle数据库中表的一个字段自增长的功能。这种方法不仅简化了开发过程中的编码工作,还提高了数据的完整性和安全性。在实际应用中,根据不同的需求,可以进一步调整序列和触发器的...

    Oracle使用序列创建自增字段

    Oracle 序列是一个非常实用的功能,它能够方便地为表中的某列提供自动增长的数值。通过对序列的各种配置选项的理解和掌握,可以更好地满足不同的业务场景需求。希望本文对您理解并运用 Oracle 序列有所帮助。

    oracle设定自增长列

    这样,每当有新记录插入时,其`INDEX`字段将自动填充序列生成的下一个值,从而实现了自增长列的功能。 总之,通过上述步骤,我们不仅创建了一个具有自增长主键的表,还通过序列和触发器的组合使用,确保了该主键...

    oracle自动增长列

    ### Oracle自动增长列知识点 在Oracle数据库中,实现自动增长列的功能主要依赖于`SEQUENCE`对象。通过创建一个序列(SEQUENCE),可以方便地为表中的某列自动生成唯一的值,这对于主键或者需要唯一标识符的场景非常...

    OracleID自增长

    因此,为了实现类似MySQL的自增长特性,我们需要借助于Oracle提供的序列(sequence)和触发器(trigger)来实现这一功能。本文将详细介绍如何在Oracle中实现ID自增长,并通过具体的步骤和示例代码来进行演示。 ####...

    建立oracle带自增长表

    总的来说,通过组合使用序列和触发器,可以在Oracle中实现自增长列的功能,满足在插入新记录时自动为`ID`字段生成唯一值的需求。这种方式虽然相比其他数据库系统稍显复杂,但在Oracle环境中是标准的做法。

    oracle自增长与临时表

    序列提供了自增长的功能,保证了主键字段的唯一性;而临时表则为会话级别的数据存储提供了一个灵活且高效的解决方案。在实际开发和数据库管理中,熟练掌握这两个概念能够极大地提升数据库操作的效率和灵活性。

Global site tag (gtag.js) - Google Analytics