Oracle中的自增-序列-SEQUENCE

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,‘洁柔‘);

以上是关于Oracle中的自增-序列-SEQUENCE的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 怎样查询所有自增的序列名

Oracle实现自增方式:序列+触发器

oracle 实现主键自增

oracle自增主键从多少开始

Oracle中触发器实现序列自增

Oracle数据库中的自增主键