主要是2點,首先是建立一個序列名sequence;
然後是,insert語句的時候:將自增的欄位的位置,寫成序列名.nextval。
下面講解一下,從建立表開始,然後建立sequence,到insert語句怎樣寫,才能實現欄位的自增一的整個過程。
1.首先建立表
CREATE TABLE "FLOWCAL"."T_USERINFO"
( "C_ID" NUMBER(*,0),
"C_USER" VARCHAR2(20 BYTE),
"C_PASSWORD" VARCHAR2(20 BYTE),
"C_ROLE" VARCHAR2(20 BYTE),
"C_COMMENT1" VARCHAR2(20 BYTE),
"C_COMMENT2" VARCHAR2(20 BYTE)
)
現在我想讓C_ID自增一。
2.首先建立一個Oracle的sequence,sql語句如下:
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
建立一個最小為1,最大為999999999的一個序號會自動迴圈的序列
下面是我的sequence,如下:
CREATE SEQUENCE "FLOWCAL"."SEQ_USERINFO"
MINVALUE 0
MAXVALUE 9999999999999999999999999999
INCREMENT BY 1
START WITH 24
CACHE 20
ORDER
CYCLE ;
3.通過序列名.nextval實現插入時,欄位的自增一
當向表中插入資料時,SQL語句寫法如下:
SQL> insert into 表名 values(,列1值,列2值,....);
"序列名"可以替換為你需要的名字.
下面是我的insert語句:
insert into T_USERINFO values(SEQ_USERINFO.NEXTVAL,'111','11','11','11','11')
下面提供一張圖片,供參考: