Oracle 設定主鍵自增長__Oracle
阿新 • • 發佈:2018-12-22
轉自:https://yq.aliyun.com/ziliao/258074
如果想在Oracle資料庫裡實現資料表主鍵自增,我們似乎沒有辦法像MySql般直接定義列的屬性來實現。不過對於這個資料庫的常用功能,我們還是有辦法實現的。這裡將展示使用觸發器來實現主鍵自增。 1.準備
建立UserInfo表,結構如下:
CREATE TABLE UserInfo ( id NUMBER(10) NOT NULL, username VARCHAR2(15) NOT NULL, password VARCHAR2(15) NOT NULL, CONSTRAINTS PF_UserInfo PRIMARY KEY(id) --建立主鍵約束 );
建立一個用於自增的序列(requence)
CREATE SEQUENCE Tab_UserInfo_Sequence START WITH 1 MINVALUE 1 MAXVALUE 999999999 INCREMENT BY 1 CACHE 20;
2.觸發器
CREATE OR REPLACE TRIGGER Tig_UserInfo_Insert BEFORE INSERT ON UserInfo --插入動作觸發器 FOR EACH ROW WHEN(new.id IS NULL) --id值為null時觸發 BEGIN select Tab_UserInfo_Sequence.nextval into :new.id from dual; --插入序列值到id值 END;
3.測試用例
INSERT INTO UserInfo(username, password) VALUES('aaa', '111'); INSERT INTO UserInfo(username, password) VALUES('bbb', '222'); INSERT INTO UserInfo(username, password) VALUES('ccc', '333');
查看錶資料,結果如下:
4.END
至此,使用觸發器設定主鍵自增已完成。
以上是Oracle 設定主鍵自增長__Oracle的全部內容,在雲棲社群的部落格、問答、公眾號、人物、課程等欄目也有Oracle 設定主鍵自增長__Oracle的相關內容,歡迎繼續使用右上角搜尋按鈕進行搜尋資料庫 , oracle , 主鍵 , sql資料庫 自增 ,以便於您獲取更多的相關知識。