oracle主鍵自增長

2021-06-16 17:31:38 字數 2033 閱讀 2654

oracle主鍵自增長

1、比較土鱉的方式

定義主鍵number型別,之後每次存資料時候,id為取得此表的max(id),之後+1,在存放進去

可以用時間作為主鍵,唯一。

2、官方版

使用序列方式,增長主鍵。下面介紹使用過程。

建立測試表 t

[sql] 

sql> create table t(  

2  id number(10) primary key,  

3  name varchar2(20) not null);  

www.2cto.com  

table created  

建立序列sequence t_id

[sql] 

sql> create sequence t_id  

2  start with 2          --以2開始  

3  increment by 2;       --以2為自增長1、3、5、7...  

sequence created  

使用序列

[sql] 

sql> insert into t values(t_id.nextval,'人1');  

1 row inserted  

sql> insert into t values(t_id.nextval,'人1');  

1 row inserted  

www.2cto.com  

sql> insert into t values(t_id.nextval,'人1');  

1 row inserted  

sql> insert into t values(t_id.nextval,'人1');  

1 row inserted  

查詢表t

[sql] 

sql> select * from t;  

id name  

----------- --------------------  

2 人1  

4 人1  

6 人1  

8 人1  

刪除表資料刪除表

[sql] 

sql> truncate table t;  

www.2cto.com  

table truncated  

sql> drop table t;  

table dropped  

恢復刪除表

[sql] 

flashback table t to before drop;  

序列詳情介紹

[sql] 

--序列  

/*  

*需求:在插入記錄時,主鍵值,需要不重複而且唯一,  

*它的值靠人工生成不太靠普,所以我們需要乙個能生成值的乙個東西,  

*這個東西就是序列,序列是乙個資料庫物件。生成序列的語法:  

*/  

create sequence [user.]sequence_name  

[start with n]1  

[increment by n]/*以n=2為增長1,3,5*/  

[maxvalue n | nomaxvalue]  

[minvalue n | nominvalue]  

[noorder|order]/*多執行緒,單執行緒*/  

[nocycle]   www.2cto.com  

[cache n]; /*快取*/  

--刪除序列  

drop sequence sequence_name;  

--更改序列 1 3 5  

alter sequence sequence_name  

increment by 2  

maxvalue 80  

minvalue 1  

order  

nocycle  

cache 2; 

oracle 自增長主鍵

1 首先,你要有一張表!create table example id number 4 not null primary key,name varchar 25 phone varchar 10 address varchar 50 2 然後,你需要乙個自定義的sequence create se...

oracle主鍵自增長

oracle主鍵自增長 1 比較土鱉的方式 定義主鍵number型別,之後每次存資料時候,id為取得此表的max id 之後 1,在存放進去 可以用時間作為主鍵,唯一。2 官方版 使用序列方式,增長主鍵。下面介紹使用過程。建立測試表 t sql sql create table t 2 id num...

關於oracle主鍵自增長

create sequence a seq 建立序列名字為 a seq minvalue 1 最小值為 1 maxvalue 99999 最大值為 99999 start with 1 開始值 1 increment by 1 每次增長值 1 cache 100 快取大小 100 用法 比如 你查詢...