Oracle中的自增-序列-SEQUENCE

Oracle 12c 之前的版本都没有自增列,如果需要使用自增列,则需要借助SEQUENCE.


DROP TABLE CUSTOMERORDER PURGE;

CREATE TABLE CUSTOMERORDER

(

ORDERID NUMBER NOT NULL,

PRODUCTID NUMBER,

PRODUCTNAME VARCHAR2(50),

CONSTRAINTS PK_ORDERID PRIMARY KEY(ORDERID)

);

DROP SEQUENCE SQ_ORDERID;

CREATE SEQUENCE SQ_ORDERID

START WITH 10000000000000;

上面代码创建了一个商品购买表,以及一个起始编号为10000000000000的序列。

在序列第一次被创建成功后还不能马上使用,必须调用NEXTVAL方法才行。


SELECT SQ_ORDERID.NEXTVAL FROM DUAL;

接着就可以使用序列为表数据设置值了:


INSERT INTO CUSTOMERORDER(ORDERID,PRODUCTID,PRODUCTNAME)

VALUES(SQ_ORDERID.NEXTVAL,888,‘纳爱斯‘);

INSERT INTO CUSTOMERORDER(ORDERID,PRODUCTID,PRODUCTNAME)

VALUES(SQ_ORDERID.NEXTVAL,999,‘洁柔‘);

时间: 2024-11-11 13:15:54

Oracle中的自增-序列-SEQUENCE的相关文章

oracle中设置自增主键

首先,你要有一张表!CREATE TABLE example(ID Number(4) NOT NULL PRIMARY KEY,NAME VARCHAR(25),PHONE VARCHAR(10),ADDRESS VARCHAR(50));如果对于以上的建表语句还有疑问的话,建议您不要继续了!有那么些时间您还不如去看看金庸读读琼瑶!然后,你需要一个自定义的sequenceCREATE SEQUENCE emp_sequenceINCREMENT BY 1 -- 每次加几个START WITH

Oracle中创建自增字段(序列sequence)方法

oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 下面给大家讲个例子: 1.在Oracle中创建一个表: 1.创建一个表 create table t_client (id number(4) primary key, pid number(4) not null, name varchar2(30) not null, client_id varchar2(10), client_level char(3), bank_acc

Oracle中创建自增字段方法

oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 下面给大家讲个例子: 1.在Oracle中创建一个表: 1.创建一个表 create table t_client (id number(4) primary key, pid number(4) not null, name varchar2(30) not null, client_id varchar2(10), client_level char(3), bank_acc

oracle中实现自增id

在一些数据库(例如mysql)中,实现自增id只要在建表的时候指定一下即可, 但是在oracle中要借助sequence来实现自增id, 要用上自增id,有几种方式: 1.直接在insert语句中使用sequence的nextval. 2.在建表时为字段设置default,这种方式我还没测试. 3.使用触发器,关于触发器的方式,从别人那得到了一个示例,暂且先贴到这里作为备忘.我觉得如果default方式如果可用的话,会比使用触发器的方式简单. 以下是触发器方式相关的代码: CREATE TABL

Spring Data在Oracle中的自增ID随机出现的问题解决

1.  开发环境介绍 Spring Data 1.6, JDK 1.6, Oracle 11g, Hibernate 4.3.5 2.    问题的提出 在开发中,使用Annotation来配置Entity,即对象与Table的映射:代码示例如下: @Entity(name = "PayOrderEntity") @Table(name = "ES_OUTPAY_ORDER") public class OrderEntity extends AuditableBa

oracle中的视图、序列、索引

相关概念理解: 表:基本的数据存储集合,由列和行组成 视图:从表中抽出逻辑上相关的数据集合 序列:提供有规律的数值 索引:建立索引查询效率更高 为什么使用视图:控制数据的访问,简化查询,数据的独立性,避免重复访问相同的数据 视图相关的语法:

oracle主键自增(1) 序列+触发器实现Oracle主键自增

序列+触发器实现Oracle主键自增 序列的语法格式为: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCACHE}]; INCREMENT BY 用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表序列的值是按照此步长递减的. START WITH 定义Oracle序列的初始值(即产生的第一个值),

oracle如何实现自增?----用序列sequence的方法来实现

将表t_user的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create  table  t_user( Id number(6),userid varchar2(20),loginpassword varchar2(20),isdisable number(6) ); ----创建序列 create sequence user_seq increment by 1  start with 1 nomaxvalue nominvalue nocache ----

ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍

如果我是C罗 原文 ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 sequence在ORACLE中应用十分广泛,就是序列号的意思,会自动增加指定变数,如逐次增加1或者2或者其他. 1.创建序列 Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE 权限 CREATE SEQUENCE CUX_DEMO_SEQUENCEMINVALUE 1MAXVALUE 99999999999START WITH 1000