`
joknm
  • 浏览: 62490 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

oracle 主键自动增加

阅读更多
oracle 数据库没有像 MYSQL一样有 自动ID增值 的功能,如要实现可以用触发器。

首先就是建立一个序列,序列有有自动增值的功能,再建立一个触发器。

如:

建立一个序列

CREATE SEQUENCE auto_seq
minvalue 1 -- 最小值
increment by 1 -- 每次增加值数
nocache -- 不启用缓存
nocycle -- 不循环;



建立一个触发器

CREATE OR REPLACE trigger auto_id_tri
before insert on pjsh_person -- before 表示插入新数据时执行
for each row -- 每次插入数据到pjsh_person表时执行下面的oracle 语句
begin
    select auto_seq.nextval into :NEW.ID from dual;
end;



auto_id_tri 触发器名

auto_seq.nextval 提取auto_seq 序列的值

:NEW.ID  ID为要添加的主键列名

pjsh_person 要添加自动ID值的表名。



至此,每次插入数据时ID值都不用插入,触发器会自动插入,如果手动插入ID值也会被触发器覆盖掉。
分享到:
评论

相关推荐

    oracle主键自动增长

    ### Oracle主键自动增长知识点详解 #### 一、Oracle序列(Sequence)的使用方法 在Oracle数据库中,并没有像MySQL那样的自动增长字段特性,因此在实际应用中,我们常常需要手动实现这一功能。序列(Sequence)是...

    oracle主键自动增长方法

    oracle创建表时主键自动增长方法 5 测试反复执行如下语句:insert into Test_Increase(Username) values('test')6 查看插入结果:userid username1 test2 test3 test4 test5 test6 test7 test8 test9 test

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

    在Oracle数据库中,实现主键自动增长是一种常见的需求,尤其在设计高并发、大数据量的系统时,确保每个记录都有一个唯一且连续的标识符变得至关重要。本文将深入探讨如何利用Oracle触发器来实现这一功能,同时也会...

    oracle设置主键自动增长

    ### Oracle 设置主键自动增长详解 #### 一、概述 在数据库设计中,为了方便管理和维护数据表,经常需要为主键设置自动增长的功能。Oracle 数据库提供了强大的工具和语法支持来实现这一需求。本文主要介绍如何在 ...

    oracle数据库主键自动生成

    Oracle 数据库主键自动生成 在 Oracle 数据库中,主键自动生成是指在插入数据时自动生成唯一的主键值,从而简化数据录入和维护工作。下面将详细介绍 Oracle 数据库主键自动生成的实现方法和相关知识点。 序列...

    oracle序列主键自增长

    为了实现主键自动增长,Oracle提供了序列(Sequences)这一特性,它能按照预设的规则(通常是递增)生成唯一的整数。本文将深入探讨Oracle序列主键自增长的工作原理、创建方法以及如何在表中应用。 **1. Oracle序列...

    Oracle数据库创建表tuser设置主键自动增长

    ### Oracle数据库创建表tuser设置主键自动增长 在Oracle数据库中,创建一张包含自动增长主键的表是一项常见的需求。本文将详细介绍如何在Oracle环境中创建一个名为`tuser`的表,并实现其主键自动增长的功能。此外,...

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    ### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...

    深入Mysql,SqlServer,Oracle主键自动增长的设置详解

    本文将深入探讨MySQL、SQL Server和Oracle这三种主流数据库系统中主键自动增长的设置方法。 在MySQL中,主键自动增长是通过`auto_increment`关键字实现的。当你创建一个表并定义某个字段为`auto_increment`类型的...

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

    #### 二、创建序列和触发器实现主键自动增长 为了实现主键的自动增长,我们需要创建两个序列和两个触发器。 ##### 1. 创建序列 ```sql CREATE SEQUENCE userinfo_sequence; CREATE SEQUENCE groupinfo_sequence; `...

    oracle 主键自增 sequence

    ### Oracle 主键自增 Sequence 的实现与应用 #### 一、Sequence 的概念及用途 在 Oracle 数据库中,`Sequence` 是一种用于生成一系列唯一数值的对象。这些数值可以按照特定的规则递增或递减,并且可以设定是否循环...

    oracle中的sequence实现主键增长

    - 第一次使用`NEXTVAL`时,返回的是`START WITH`指定的初始值,之后每次调用都会自动增加`INCREMENT BY`的值。 - `CURRVAL`在首次调用`NEXTVAL`之后才能使用,否则会导致`ORA-08004: CURRVAL of sequence 'seq_...

    ORACLE自增主键设置方法

    在Oracle数据库中,自增主键是一种常见的主键设计方式,它能够确保每条记录的唯一性,并且在插入新记录时自动递增,简化了数据管理流程。本文将详细介绍如何在Oracle中设置自增主键。 #### 一、创建序列(Sequence...

    oracle 主键自增相关命令

    以下是对创建和使用Oracle主键自增的相关知识点的详细说明: 1. **创建表并定义主键**: 当我们创建表时,可以指定某列为主键。例如,创建名为`book`的表,`id`列为整数类型的主键: ```sql CREATE TABLE book ...

    在hibernate中实现oracle的自动增长

    Oracle数据库提供了强大的序列(sequence)功能来支持自动增长,这是实现主键自动生成的有效手段。与MySQL或SQL Server等其他数据库系统不同,Oracle不直接支持自增列(auto-increment column),而是通过序列(sequence)...

    oracle自动增长列

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

    oracle创建表空间、表、主键、外键、序列

    下面将详细介绍如何创建表空间以及如何在Oracle中创建表、主键、外键和序列。 1. 创建表空间: 在Oracle中,首先需要创建一个表空间来存储未来的数据。以下是一个创建表空间的基本语法: ```sql CREATE TABLESPACE...

Global site tag (gtag.js) - Google Analytics