create
table demo
( id int
notnull
auto_increment
primary
key,
key1 varchar2(40)
null
, key2 varchar2(40)
null
);
create sequence seqname --序列名字
increment by
1--每次自增1, 也可寫非0的任何整數,表示自增,或自減
start
with
1--以該值開始自增或自減
maxvalue 1.0e20 --最大值;設定nomaxvalue表示無最大值
minvalue 1
--最小值;設定nominvalue表示無最大值
cycle
or nocycle --設定到最大值後是否迴圈;
cache 20
--指定可以快取 20 個值在記憶體裡;如果設定不快取序列,則寫nocache
order
or noorder --設定是否按照請求的順序產生序列
--準備工作建立一張表
create
table dept_p(
dept_id varchar2(40)
notnull
, dept_name varchar2(40)
, parent_id varchar2(40)
, state number(11)
, dept_sort number(11)
);alter
table dept_p add
[constraint dept_id]
primary
key(dept_id)
;
第一步:建立序列sequence
create sequence seq_t_dept
minvalue 1
maxvalue 99999999
start
with
1increment by
1cache 50
第二步:建立觸發器
create
orreplace
trigger
"dept_trig"
before insert
on dept_p
referencing old as old new as new for each row
declare
begin
select seq_t_dept.nextval into :new.dept_sort from dual;
end dept_trig;
第三步:插入資料測試看dept_sort是否自增
insert
into dept_p values
('001'
,'安保部'
,'000',1
);select
*from dept_p;
在真實情況下,用方法一,可以做到免插入自增長
第一步:建立序列sequence
//建立sequence
create sequence seq_on_dept
increment by
1start
with
1nomaxvalue
nocycle
nocache;
第二步:顯示呼叫序列
insert
into dept_p values
('001'
,'安保部'
,'000',1
, seq_on_test.nextval)
;insert
into dept_p values
('001'
,'安保部'
,'000',1
, seq_on_test.nextval)
;
第三步:查詢進行檢視
select
*from dept_p
注:
--檢視序列當前值和下乙個值的檢視方式
select seq_on_dept.currval from dual;
select seq_on_dept.nextval from dual;
原創 oracle sequence簡介
sequence簡介 2013 12 26 一 概述 sequence是序列號的意思,每次取的時候它會自動增加。sequence與表沒有從屬關係,與表一樣屬於使用者。二 主要內容 1 create sequence語法 首先使用者要有create sequence或者create any seque...
Oracle Sequence簡單介紹
oracle中提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面就主要介紹一下關於sequence物件的生成,修改,刪除等常用的操作 1.生成 sequence 首先使用者要有create sequence或者create any sequ...
ORACLE SEQUENCE的簡單介紹
在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,create sequence emp sequence incr...