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,'洁柔');


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM