1. 程式人生 > >Oracle 設定主鍵自增長__Oracle

Oracle 設定主鍵自增長__Oracle

轉自: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) --建立主鍵約束 );

Oracle 設定主鍵自增長__Oracle

建立一個用於自增的序列(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');

查看錶資料,結果如下: 
Oracle 設定主鍵自增長__Oracle4.END

至此,使用觸發器設定主鍵自增已完成。

以上是Oracle 設定主鍵自增長__Oracle的全部內容,在雲棲社群的部落格、問答、公眾號、人物、課程等欄目也有Oracle 設定主鍵自增長__Oracle的相關內容,歡迎繼續使用右上角搜尋按鈕進行搜尋資料庫 , oracle , 主鍵 , sql資料庫 自增 ,以便於您獲取更多的相關知識。