`

oracle新建数据表主键实现自动递增

阅读更多
1.建序列使得递增
例子:
create table ce_book_log(
  id number not null,
  state number,
  content varchar(200) default null,
  bookid varchar(200) default null,
  booktitle varchar(200) default null,
  createat varchar(50) default null,
  constraint PK_ce_book_log primary key (id)
);

create sequence ce_book_log_sequence
     minvalue 1
     maxvalue 9999999999999999999999999999
     start with 1
     increment by 1
     nocache;

CREATE OR REPLACE TRIGGER ce_book_log_trigger
    BEFORE INSERT ON ce_book_log
    FOR EACH ROW
    BEGIN
    SELECT ce_book_log_sequence.nextval INTO :new.id  FROM dual;
    END;


如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。
分享到:
评论

相关推荐

    建立oracle带自增长表

    在Oracle数据库中,创建带有自增长属性的表是常见的需求,尤其在设计主键或唯一标识符时。这里我们将详细探讨如何在Oracle中实现这一功能。 首先,我们需要了解Oracle中的自增长特性是通过序列(Sequences)来实现...

    给数据库新建表插入数据方法

    注意,如果你的主键是自动递增的,比如在MySQL中,可以省略插入主键的值,让数据库自动生成。 在某些数据库系统中,如MongoDB这样的NoSQL数据库,创建集合(相当于关系数据库中的表)和插入文档(相当于记录)的...

    第6章 数据表的创建与操作.ppt

    - 自增属性通常用于主键字段,每次新插入记录时自动递增,Oracle中通过`GENERATED BY DEFAULT AS IDENTITY`实现。 3. 修改数据表: - 修改表的名称使用`ALTER TABLE`语句,需确保新表名在数据库中是唯一的。 - ...

    Oracle经典教程1——走进Oracle

    在Oracle中创建表时,可以为表定义各种约束以确保数据完整性。常见的约束包括: 1. **主键约束**:用于唯一标识表中的每一行。 2. **外键约束**:用于定义表与表之间的关系。 3. **唯一性约束**:确保列中的值不...

    oracle 建表 建序列

    在Oracle数据库中,创建表是进行数据管理的基础操作之一。下面将通过几个具体实例来详细解析创建表的过程。 ##### 示例1:创建用户信息表 `userinfo` ```sql CREATE TABLE userinfo ( userid NUMBER(12) PRIMARY ...

    Oracle递归树形结构查询功能

    在实际应用中,例如组织结构的展示,我们可以创建一个包含部门信息的表`SYS_DEPT`,其中`dept_id`为主键,`par_dept_id`表示父级部门ID,以此建立层级关系。通过递归查询,我们可以轻松地获取任意部门及其所有子部门...

    oracle 不用新建序列 重置序列(从1开始增长)

    本文将详细介绍如何在不新建序列的情况下,实现Oracle序列的重置,让其从1开始增长。这种方法通过编写PL/SQL过程来动态调整序列的增量,从而达到重置的目的。 ### Oracle序列重置方法 首先,我们需要理解Oracle...

    ORACLE__SQL语句教学.zip

    - 外键:引用另一个表的主键,建立表之间的关联。 2. SQL基本操作 - SELECT语句:用于从表中检索数据,可以指定列、条件、排序和分组。 - INSERT语句:向表中插入新记录。 - UPDATE语句:更新表中已存在的记录...

    Oracle 数据库教程

    - **序列**:自动递增的数字序列,常用于自动生成主键值。 - **视图**:虚拟表,由一个或多个表或视图中的数据组成,用于数据的逻辑分组和简化查询。 - **索引**:提高数据检索速度的数据结构,通过建立索引可以...

    oracle复习资料

    总的来说,这份复习资料涵盖了Oracle数据库中关于模式对象的基本操作,包括表的创建、约束的定义、索引的建立、临时表的使用、序列的管理以及同义词的创建,这些都是数据库管理员和开发人员必备的技能。通过深入理解...

    Oracle关系数据库1.ppt

    将E-R图转换为表时,需要确定每个表的主键,通常可以是自动递增的ID,如用户表的"UID"、版块表的"SID"等。同时,通过设置外键来建立表之间的关联,比如发贴表中的"TID"作为主键,同时也作为跟贴表的外键,反映跟贴...

    hibernate主键生成策略

    `increment`策略为每一个新插入的数据分配一个递增的主键值。然而,这种方法存在明显的缺点:在一个多实例并行运行的环境中,由于每个Hibernate实例维护自己的计数器,可能导致主键冲突的问题。因此,`increment`...

    Oracle数据库的完整性约束和序列规则详解

    序列可以理解为一个自动递增的数字生成器,常用于主键的自动生成。创建序列使用`CREATE SEQUENCE`语句,可以设置起始值、递增步长、缓存大小等参数。在插入新记录时,可以通过`NEXTVAL`获取序列的下一个值,或者使用...

    使用SQL管理和查询数据.doc

    2. 表的创建:确定每个字段的数据类型,设定是否允许为空,设置主键以唯一标识记录,定义默认值,利用标识列自动递增,以及建立表间关系以实现数据关联。 四、数据导入导出 数据导入和导出是数据库管理的重要环节,...

    Oracle经典教程4——表空间和数据库对象

    ### Oracle经典教程4——表空间和数据库对象 #### 一、概述 本章节主要介绍了Oracle数据库中的几个核心概念,包括表空间以及多种数据库对象,如同义词、序列、视图和索引等。这些概念对于理解Oracle数据库的架构与...

    Oracle数据库中创建自增主键的实例教程

    -- 新建一个缺少主键的表 CREATE TABLE test1 (name1 VARCHAR2(40), city VARCHAR2(40)); -- 插入数据 -- 增加主键ID ALTER TABLE TEST1 ADD id NUMBER(10); -- 设置sequence使ID自增 CREATE SEQUENCE ...

    Oracle安装

    创建序列是在数据库中生成自动递增的数字,常用于主键。写SQL语句是数据库操作的核心,包括查询(如示例中的SELECT语句)、插入、更新和删除等操作,注意事务控制,如提交(COMMIT)和回滚(ROLLBACK)。 通过以上...

    labview数据库中写入大量数据,处理自动编号的2种方法

    当需要向数据库写入数据并实现自动编号功能时,可以采用两种主要方法。这两种方法都是为了确保数据的唯一性,并且能够在大批量操作中高效地进行。 **方法一:使用自增字段** 大多数关系型数据库系统(如MySQL、SQL ...

    jdbc 插入记录并返回自增主键值

    对于具有自增主键的表,MySQL会自动为新插入的记录生成主键值。为了获取这个值,我们需要在插入语句中使用`LAST_INSERT_ID()`函数,并在`Statement`对象上设置`RETURN_GENERATED_KEYS`属性: ```java try ...

    oracle考试题库.docx

    22. 序列:序列是Oracle中的方案对象,可以自动产生按设定规则增长的数值,用于为表的列提供唯一标识或自动递增的值(题目选项A不正确,因为序列是可以自动产生数据的方案对象)。 以上知识点涵盖了Oracle数据库...

Global site tag (gtag.js) - Google Analytics