標籤:https copyto data span 開啟 plain basename title 使用
Oracle中,當需要建立一個自增欄位時,需要用到sequence。sequence也可以在mysql中使用,但是有些差別,日後再補充,先把oracle中sequence的基本使用總結一下,方便日後查閱。
1、建立sequence:
[sql] view plain copy
- create sequence SEQ_ON_USER
- minvalue 1
- maxvalue 999999999999999999999999999
- start with 1
- increment by 1
- nocache;
說明:
minvalue:序列最小值
maxvalue/nomaxvalue:序列最大值/沒有最大值
start with 1:序列從1開始
increment by 1:每次增加1
cache/nocache:nocache不緩衝。cache緩衝。開啟緩衝,效率高,只是如果資料庫宕機了,緩衝丟失,會出現序列跳號情況。
2、查看已有sequence:
[sql] view plain copy
- select * from user_sequences;
3、刪除指定sequence:
[sql] view plain copy
- DROP SEQUENCE SEQ_ON_USER;
4、查看指定sequence的當前值:
兩種方式:
[sql] view plain copy
- select last_number from user_sequences wheresequence_name=‘SEQ_ON_USER‘;
[sql] view plain copy
- select SEQ_ON_USER.nextval from sys.dual;
5、建立觸發器使用sequence設定主鍵自動插入。
[sql] view plain copy
- create or replace trigger "SEQ_ON_USER_GENERATOR" before
- insert on databasename1.T_USER for each row
- declare
- mid number,
- begin
- select SEQ_ON_USER.nextval into mid from dual;
- :new.id:=mid;
- end
-
- create trigger SEQ_ON_USER_Trigger
-
- before insert on T_USER for each row
- begin
- select SEQ_ON_USER.nextval into :new.id from dual;
- end SEQ_ON_USER_Trigger;
6、代碼中使用sequence.nextval插入主索引值。
Sequence在Oracle中的使用