oracle自增序列用法(Oracle創建自增主鍵帶你從頭到尾捋一遍)
2023-04-16 08:48:05 1
說明:Oracle沒有這個auto_increment屬性,所以它無法像MySQL般在表內定義自增主鍵。但是,Oracle裡的序列,可間接實現自增主鍵的作用。
序列:序列(Sequence),又叫序列生成器,用於提供一系列的數字,開發人員使用序列生成唯一鍵。每次訪問序列,序列按照一定的規律增加或者減少。序列的定義存儲在SYSTEM表空間中,序列不像表,它不會佔用磁碟空間,佔用內存。
用途:其主要用途是生成表的主鍵值,可以在插入語句中引用,也可以通過查詢檢查當前值,或使序列增至下一個值。
1、創建數據表CREATE TABLE STAFFS ( ID NUMBER, NAME VARCHAR2(20 BYTE), LOGIN_NAME VARCHAR2(20 BYTE), LOGIN_PASSWORD VARCHAR2(20 BYTE), CREATER_ID NUMBER, CREATE_TIME DATE, UPDATER_ID NUMBER, UPDATE_TIME DATE)
CREATE sequence STAFFS_ID # STAFFS_ID序列名稱START WITH 1 # 開始值1 INCREMENT BY 1 # 遞增1 nomaxvalue # 不設置最大值 nocycle # 一直累加,不循環 nocache; # 沒有緩存
CREATE TRIGGER STAFFS_TRIGGER # STAFFS_TRIGGER觸發器名稱before INSERT ON STAFFS FOR each ROW WHEN (new.id IS NULL)BEGINSELECT STAFFS_ID.nextval into:New.ID from dual;END;
路漫漫其修遠兮,吾將上下而求索
譯文:在追尋真理方面,前方的道路還很漫長,但我將百折不撓,不遺餘力地去追求和探索。
如果您有什麼好的想法與方法,歡迎在評論區留言,我們一起討論~
,