SQL_Oracle 表中ID欄位的自動遞增,sql_oracle欄位
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明以下出處,否則追究著作權法律責任。
深藍的blog:http://blog.csdn.net/huangyanlong/article/details/43937701
目標:實現向一張表中插入資料時,ID欄位自動遞增。
開始實驗:
(1)、建立實驗表
createtable test_ID_add
(
ID NUMBER(10),
USERNAME VARCHAR2(32),
TEL VARCHAR2(11),
CREATE_DATE datedefaultsysdate
);
(2)、建立序列
使用PL/SQL Developer建立序列
補充:對於序列的建立,我們也可以通過命令實現,如下:create sequence seq_testincrement by 1 start with 1nomaxvaluenominvaluenocache--參數說明--seq_test,表示建立序列的名稱--increment by 1 表示每次增加1--start with 1表示開始於1--nomaxvalue表示沒有最大值--nominvalue表示沒有最小值--nocache表示序號達到上限後不繼續擴充補充結束
(3)、建立觸發器
--每次向test_id_add表新插入一條資料之前,先插入一個ID值
create orreplace trigger tr_IDADD
before inserton test_id_add
for eachrow
begin
select seq_idadd.nextvalinto :new.idfrom dual;
end;
(4)、測試
SQL>insert into test_id_add(Username,TEL)values('huangyanlong','12345678900');
--插入第一條資料
SQL>commit;
SQL>SELECT *from test_id_add;
SQL>insertinto test_id_add(Username,TEL) values('lilei','13713777777');
--插入第二條資料
SQL>commit;
SQL>SELECT *from test_id_add;
,ID欄位在以每次加一後自動成長。
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明以下出處,否則追究著作權法律責任。
深藍的blog:http://blog.csdn.net/huangyanlong/article/details/43937701