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