`
javathinker
  • 浏览: 235711 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

使用 DB2 sequence 自动产生主键

 
阅读更多

查了一下db2,

--创建sequence,产生id
CREATE SEQUENCE xixi.id_log
AS bigint
START WITH 1
INCREMENT BY 1
NO MAXVALUE
CYCLE
NO CACHE;

具体差数说明见ibm说明(http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0004201.htm?resultof=%22%73%65%71%75%65%6e%63%65%22%20

--查询之前的id
VALUES PREVVAL FOR xixi.id_log;

--产生id
VALUES NEXTVAL FOR xixi.id_log;

--插入记录

insert into xixi.id_log(id) values
( NEXTVAL FOR xixi.id_log)

--删除sequence
DROP SEQUENCE userid.ID_PDALOG restrict

自动产生主键,不用max了很方便。

分享到:
评论

相关推荐

    sql server 2000 分页存储过程,DB2分页存储过程,db2自动生成流水号存储过程

    至于DB2自动生成流水号,可以利用`IDENTITY`属性或者`SEQUENCE`对象。`IDENTITY`常用于单表主键自增,如: ```sql CREATE TABLE YourTable ( Id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, ... ); ``` `...

    Hibernate主键生成方式

    ### Hibernate主键生成方式详解 #### 一、概述 Hibernate 是一款开源的对象关系映射 (ORM...此外,根据实际使用的数据库类型和业务需求,也可以考虑使用 `native` 策略,让 Hibernate 自动选择最合适的主键生成方式。

    Oracle、DB2、PostgreSQL之Sequence总结

    Sequence是数据库管理中的一种机制,用于生成有序的序列号,常被用作主键或唯一标识符。在Oracle、DB2和PostgreSQL这三种数据库管理系统中,Sequence都是内置的特性,允许用户创建并管理这样的自动递增序列。然而,...

    真实项目中关于主键生成方式的剖析(JPA)

    本文主要探讨了在使用Java Persistence API (JPA) 和 Hibernate 框架时,如何处理主键的生成,特别是针对不同数据库系统的序列(sequence)机制。 首先,序列是一种在数据库中用于生成有序整数的机制,常被用作主键...

    Java探索之Hibernate主键生成策略详细介绍

    Sequence主键生成策略是使用数据库提供的sequence机制生成主键。这种策略需要数据库支持sequence,如Oracle、DB、SAP DB、PostgreSQL、McKoi等。MySQL这种不支持sequence的数据库则不行(可以使用identity)。 例子...

    hibernate映射文件--主键生成策略[参考].pdf

    2. native:该策略由Hibernate根据使用的数据库自行判断采用identity、hilo、sequence其中一种作为主键生成方式。 3. hilo:该策略通过hi/lo算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。 4. ...

    设置db2 字段自增长

    通过以上介绍,可以看出DB2提供了多种方式来实现字段的自增长,包括直接使用`GENERATED ALWAYS AS IDENTITY`特性以及通过触发器和Sequence实现。选择哪种方式取决于具体的应用场景和需求。对于大多数情况来说,直接...

    DB2到GreenPlum/PostgreSQL的转换指南

    DB2中支持自动生成ID列的功能,即序列号(SEQUENCE),而在GreenPlum/PostgreSQL中,可以通过序列(SEQUENCE)或IDENTITY属性来实现类似功能。在转换时,需要确保自增ID列的定义正确无误。 ###### 2.2.5 特殊对象 -...

    Hibernate主键生成

    1. **increment**:此策略对long、short或int类型的字段生成自动增长的主键。主键值按数值顺序递增。但这种方法存在并发问题,如果多实例访问同一数据库,可能导致主键重复。 2. **identity**:适用于SQL Server、...

    hibernate主键生成策略

    - **描述**:`native`策略根据所使用的数据库选择最适合的主键生成策略,可能是`identity`、`sequence`或`hilo`之一。 - **应用场景**:适用于需要灵活适应不同数据库环境的场景。 #### 9. `assigned` - **描述**...

    Hibernate主键类型说明和配置手册.doc

    5. **sequence**: 使用数据库的序列生成主键,适用于DB2、PostgreSQL、Oracle、SAP DB、McKoi和Interbase。 6. **hilo**: 使用Hi-Lo算法,需要一个数据库表来存储生成的主键。不适用于JTA环境或自定义数据库连接。 ...

    openjpa实体标识的生成策略

    而如果是内存数据库HSQLDB,可能更倾向于使用自动增长字段。 在实体类中,可以通过注解的方式来配置这些策略。例如,对于一个实体类`User`,如果希望使用数据库的序列号生成主键,可以这样写: ```java @Entity ...

    Hibernate Junit测试增删改查(DB2版本的)

    在Hibernate中,我们可以使用hibernate_sequence或者其他自定义的序列来为实体类的主键生成策略提供支持。 在进行Junit测试时,你需要创建一个测试类,包含增删改查四个基本操作的方法。增加(Insert)通常涉及实体...

    DB2 730认证原题

    **应用场景**:序列通常用于自动填充主键字段或其他需要唯一标识符的场景,例如订单编号、用户ID等。 --- ##### 5. 触发器用于检测表更新 **知识点**:触发器是一种特殊类型的存储过程,当特定事件发生时(如插入...

    db2-703.doc

    序列对象允许生成连续的整数值,可以用于自动填充主键等字段。它与标识列不同,序列是全局的、独立于特定表的对象。 - **创建序列**: ```sql CREATE SEQUENCE myseq AS INTEGER START WITH 360 INCREMENT BY ...

    Itrenzheng IBM DB2 000-730认证题库

    SEQUENCE 是一种自动递增或递减的数据库对象,通常用于为主键或其他唯一标识符提供连续的值。在这种情况下,程序员可以通过创建一个 SEQUENCE 对象,并设置起始值和增量,以便每次插入新记录时 ID 值自动增加 1000。...

    DB2数据库对象基础知识.docx

    - 序列通常用于生成主键或其他需要连续编号的场景。 - 通过`NEXTVAL`函数可以获得序列的下一个值。 **4. 数据类型** - 序列可以基于多种数字数据类型,如`SMALLINT`、`INTEGER`、`BIGINT`或`DECIMAL`。 - 用户...

    MyBatis中insert操作返回主键的实现方法

    对于那些使用序列(Sequence)作为主键生成策略的数据库,如Oracle或DB2,你需要在执行插入SQL之前先获取序列的下一个值。例如,在Oracle中,你可以使用`SELECT SEQ_TEST.NEXTVAL FROM DUAL`来获取序列的下一个值。...

    本文档的知识和操作基本上基于DB2数据库

    - **序列**:用于生成唯一标识符,例如 `CREATE SEQUENCE seq_sno START WITH 1 INCREMENT BY 1` **八、存储过程及触发器** - **存储过程**:一组预编译的 SQL 语句,可封装为一个可重复使用的单元。创建存储过程...

Global site tag (gtag.js) - Google Analytics