首页 > 代码库 > Oracle中的自增-序列-SEQUENCE

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