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插入主鍵值。
在oracle中sequence就是所謂的序列號
create sequence 你首先要有 create sequence 或者create any sequence 許可權,create sequence emp sequence increment by 1 每次加幾個 start with 1 從1 開始計數 nomaxvalue 不設定最...
Oracle建立序列 sequence
oracle中的序列號顧名思義就是建立乙個序列號,可以在插入或者更新的時候呼叫,相當於是乙個生成器 建立語法 create sequence myse increment by 1 增長度 start with 1 從 增加,就是說下乙個獲取的值從這個值開始 nomaxvalue 不設定最大值 對應...
oracle 匯出 序列 sequence
方法一 select create sequence username.sequence name minvalue min value maxvalue max value start with last number increment by increment by cache cache s...