`

Oracle 通过Sequence和触发器实现ID自动增涨

 
阅读更多

很多公司用的是Oracle数据库,又要求ID自动增涨,但是目前没有现成的方法像SQL Server一样用auto_increatment方法。

 

下面我写个Sequence和触发器实现自动增长功能。(如果有更好的方法请给我留言,谢谢)

 

1.创建一个Sequence

Create Sequence reader_sequence
  MINVALUE 1
  MAXVALUE 999999999999999999999999999
  START WITH 1
  INCREMENT BY 1
  CACHE 20;

 

2.创建一张表

-- 权限
create table privilege (
    id number(19,0) not null,--流水号
    name varchar2(255 char) not null unique,--权限名称
    description varchar2(255 char) null,		--权限描述
    code varchar2(64 char) not null unique, -- 代码
    feature varchar2(64 char) not null, -- 特性名称
    module varchar2(64 char) not null -- 模块名称    
    primary key (id)
);

 

 3.给表增加触发器,自动获得ID

 

  create   or   replace   trigger   privilege_trigger   
  before   insert   on   privilege
  referencing   old   as   old   new   as   new   for   each   row   
  begin   
  select   reader_sequence.nextval   into   :new.id   from   dual;   
  end;

 

分享到:
评论

相关推荐

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

    总之,通过Oracle的触发器和序列,我们可以轻松地实现主键的自动增长,这不仅简化了数据管理流程,也提高了数据的一致性和安全性。然而,在具体应用中,还需根据实际业务需求和系统环境,合理设计和优化触发器与序列...

    oracle 触发器方式实现行ID自增加

    总结起来,Oracle数据库通过触发器和序列对象相结合,能有效实现行ID的自增加功能。这种技术在需要自动维护唯一标识符的场景下非常实用,例如主键列。但需要注意的是,过度使用触发器可能会影响数据库性能,因此在...

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

    Oracle数据库在设计关系型数据库时,常常需要使用到自增序列和触发器来实现自动增长的主键。自增序列可以确保数据的唯一性,而触发器则可以在特定事件(如INSERT、UPDATE或DELETE)发生时执行一些额外的操作。本...

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

    ### Oracle通过触发器实现序列自增 在Oracle数据库中,序列是一种非常实用的对象,它可以用于自动产生唯一的数值。本文将详细介绍如何通过触发器与序列相结合的方式,在Oracle数据库中实现记录的自增功能。 #### ...

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

    在实际应用中,序列和触发器通常结合使用来实现自动递增的主键。例如,如果你有一个名为A的表,其ID字段作为主键,你可以先创建一个序列SEQ_A,然后创建一个触发器TRG_A,确保每当有新数据插入表A时,ID字段都能自动...

    oracle快速批量生成表和触发器和序列.zip

    3. **序列(Sequence)**:Oracle序列是一种自增数字生成器,常用于生成唯一的ID,尤其是在没有自动增长字段的表中。使用`CREATE SEQUENCE`语句可以创建序列,可以指定初始值、增长步长、是否循环等属性。批量生成...

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

    下面将详细介绍如何在Oracle中创建包含主键和外键的表,并利用触发器(Trigger)和序列实现主键的自动增长。 #### 一、创建包含主键和外键的表 首先,我们来看一下创建包含主键和外键的表的基本语法和步骤。 ####...

    如何实现Oracle自增,序列,触发器都有

    ### 如何实现Oracle主键自增,通过写sequence和触发器 在Oracle数据库中实现主键自增功能可以通过创建序列(sequence)与触发器(trigger)相结合的方式实现。这种方式不仅能够确保数据表中的主键唯一性,还能自动递增...

    oracle触发器语法要点

    ### Oracle触发器语法要点 #### 一、触发器概述 ...通过以上示例,可以看出触发器在Oracle数据库中扮演着非常重要的角色,不仅可以帮助维护数据的一致性和完整性,还可以用于实现各种复杂的应用逻辑。

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

    在Oracle数据库系统中,与SQL Server中的`IDENTITY`特性类似,我们可以通过使用序列(Sequences)来实现字段的自动增长值。序列是一种特殊的数据库对象,它可以生成一系列有序的数值,通常用于为表的主键字段提供...

    oracle主键自动增长

    这里直接指定了`ID`字段的值,如果想要实现自动增长,应该使用前面提到的序列和触发器方案。 #### 五、总结 本文详细介绍了如何在Oracle数据库中实现主键的自动增长功能,主要包括了序列和触发器的使用方法。通过...

    oracle id 自动递增

    Oracle数据库中的ID自动递增是通过序列(Sequence)和触发器(Trigger)配合实现的,这对于需要自动填充主键或其他顺序标识字段的情况非常有用。序列是一个数据库对象,它按照预定的规则(如每次递增1)生成唯一的...

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

    在Oracle数据库中,为了实现表中某个字段的自动递增功能,通常会使用序列(sequence)结合触发器(trigger)的方式来完成。这种方式不仅能够确保数据的一致性和完整性,还能提高数据处理效率。本文将详细解释如何...

    Oracle存储过程和触发器实例

    Oracle数据库中的存储过程和触发器是数据库编程的重要组成部分,用于执行复杂的业务逻辑和数据操作。在本实例中,我们将探讨如何创建和使用这两个特性。 首先,存储过程是预编译的SQL和PL/SQL代码集合,可以在需要...

    oracle设置主键自动增长

    本文主要介绍如何在 Oracle 数据库中设置主键自动增长,并通过具体的示例来帮助理解整个流程。 #### 二、创建表与自增主键 ##### 1. 创建表 首先,我们需要创建一张表。这里以 `example` 表为例,该表包含四个...

    Oracle 使用触发器创建自动序列号

    --建表 drop table TEST create table TEST ...--测试 insert条语句将会自动生成自定义主键,即插入其他字段,主键在插入记录前自动生成 insert into test(test1) values('bbb'); select * from test;

    oracle序列和触发器的建立

    通过创建序列和触发器,我们可以实现在插入新记录时自动为主键字段生成唯一值的功能。这种方式不仅可以简化开发人员的工作,还可以确保数据的一致性和完整性。在实际应用中,序列和触发器是非常有用的工具,能够帮助...

    OracleID自增长

    ### Oracle ID自增长实现方法详解 #### 一、引言 在使用Oracle数据库进行软件开发时,经常会遇到需要为表中的记录自动生成唯一标识符(ID)的需求。而在Oracle数据库中,与MySQL不同的是,它并没有提供直接的自...

    oracle字段自增长

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

Global site tag (gtag.js) - Google Analytics