oracle序列怎麼寫,oracle表中怎麼建序列

2022-02-17 05:59:57 字數 5747 閱讀 4723

1樓:匿名使用者

sql> create sequence test_sequence2

2 increment by 1 -- 每次遞增13 start with 1 -- 從1開始4 nomaxvalue -- 沒有最大值5 minvalue 1 -- 最小值=16 nocycle; -- 不迴圈sequence created.

上面的語句, 建立乙個序列.

select test_sequence2.nextval from dual;

就是檢索序列值(遞增後的)

select test_sequence2.currval from dual;

就是檢索序列值(當前的)

2樓:匿名使用者

oracle建立序列基本語法:

create sequence sequence  //建立序列名稱[increment by n]  //遞增的序列值是n 如果n是正數就遞增,如果是負數就遞減 預設是1

[start with n]    //開始的值,遞增預設是minvalue 遞減是maxvalue

//最大值

//最小值

//迴圈/不迴圈

;//分配並存入到記憶體中

3樓:匿名使用者

給你乙個例子:

create sequence "sequence_1"

increment by 1

start with 1

oracle表中怎麼建序列

4樓:

oracle表中建立序列語法:

create sequence name

[increment by n]

[start with n]

示例:increment by n:表明值每次增長n(步長)。

start with n: 從n開始。

: 設定最大值。

: 設定最小值,start with不能小於最小值。

cycle | nocycle          : 是否迴圈,建議不使用

cache n | nocache    : 是否啟用快取。

2、插入資料到表中

示例:insert into emp values

(emp_sequence .nextval, 'lewis', 'clerk',7902, sysdate, 1200, null, 20);

oracle資料庫系統是目前世界上流行的關聯式資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的資料庫解決方案。

oracle資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為乙個通用的資料庫系統,它具有完整的資料管理功能;作為乙個關聯式資料庫,它是乙個完備關係的產品;作為分布式資料庫它實現了分布式處理功能。

5樓:百小度

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。

1、create sequence

你首先要有create sequence或者create any sequence許可權,

create sequence emp_sequence

increment by 1 -- 每次加幾個

start with 1 -- 從1開始計數

nomaxvalue -- 不設定最大值

nocycle -- 一直累加,不迴圈

cache 10;

一旦定義了emp_sequence,你就可以用currval,nextval

currval=返回 sequence的當前值

nextval=增加sequence的值,然後返回 sequence 值

比如:emp_sequence.currval

emp_sequence.nextval

可以使用sequence的地方:

- 不包含子查詢、snapshot、view的 select 語句

- insert語句的子查詢中

- nsert語句的values中

- update 的 set中

可以看如下例子:

insert into emp values

(empseq.nextval, 'lewis', 'clerk',7902, sysdate, 1200, null, 20);

select empseq.currval from dual;

但是要注意的是:

- 第一次nextval返回的是初始值;隨後的nextval會自動增加你定義的increment by值,然後返回增加後的值。currval 總是返回當前sequence的值,但是在第一次nextval初始化之後才能使用currval,否則會出錯。一次nextval會增加一次sequence的值,所以如果你在同乙個語句裡面使用多個nextval,其值就是不一樣的。

明白?- 如果指定cache值,oracle就可以預先在記憶體裡面放置一些sequence,這樣訪問的快些。cache裡面的取完後,oracle自動再取一組到cache。 使用cache或許會跳號, 比如資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失.

所以可以在create sequence的時候用nocache防止這種情況。

2、alter sequence

你或者是該sequence的owner,或者有alter any sequence 許可權才能改動sequence. 可以alter除start至以外的所有sequence引數.如果想要改變start值,必須 drop sequence 再 re-create .

alter sequence 的例子

alter sequence emp_sequence

increment by 10

maxvalue 10000

cycle -- 到10000後從頭開始

nocache ;

影響sequence的初始化引數:

sequence_cache_entries =設定能同時被cache的sequence數目。

可以很簡單的drop sequence

drop sequence order_seq;

6樓:匿名使用者

-- create sequence

create sequence sn increment by 1 start with 1

建立乙個序列

-- create table

create table aaa2

( sn integer not null,id char(18) null,

name char(18) null,

) insert into aaa2 values(sn.nextval,'test','test')

oracle 建立的序列在**?

7樓:匿名使用者

sequence是oracle資料庫物件的一種,你可以從select distinct(object_type) from dba_objects;找出來,就像乙個表一樣,你可以進行任何的dml和ddl操作,也就是說更改,刪除,都不會對資料庫造成任何影響。

至於想寫pl sql,推薦你看下thomas zhang的 編寫健壯的pl/sql** 系列教程,寫的很好。

鏈結如下

8樓:匿名使用者

pl/sql 工具把oracle 資料庫各種物件都區分開了。比如table、sequences、view、trigger等等。它是oracle資料庫程式設計乙個非常好用的工具。

你可以找找中文版的,網上應該很多。

另外,如果你把sequences裡的物件全部刪除了,那麼呼叫到這些序列的物件(比如觸發器、儲存過程)就會出錯。

9樓:匿名使用者

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。

1、create sequence

你首先要有create sequence或者create any sequence許可權,

create sequence emp_sequence

increment by 1 -- 每次加幾個

start with 1 -- 從1開始計數

nomaxvalue -- 不設定最大值

nocycle -- 一直累加,不迴圈

cache 10;

一旦定義了emp_sequence,你就可以用currval,nextval

currval=返回 sequence的當前值

nextval=增加sequence的值,然後返回 sequence 值

比如:emp_sequence.currval

emp_sequence.nextval

可以使用sequence的地方:

- 不包含子查詢、snapshot、view的 select 語句

- insert語句的子查詢中

- nsert語句的values中

- update 的 set中

可以看如下例子:

insert into emp values

(empseq.nextval, 'lewis', 'clerk',7902, sysdate, 1200, null, 20);

select empseq.currval from dual;

但是要注意的是:

- 第一次nextval返回的是初始值;隨後的nextval會自動增加你定義的increment by值,然後返回增加後的值。currval 總是返回當前sequence的值,但是在第一次nextval初始化之後才能使用currval,否則會出錯。一次nextval會增加一次sequence的值,所以如果你在同乙個語句裡面使用多個nextval,其值就是不一樣的。

明白?- 如果指定cache值,oracle就可以預先在記憶體裡面放置一些sequence,這樣訪問的快些。cache裡面的取完後,oracle自動再取一組到cache。 使用cache或許會跳號, 比如資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失.

所以可以在create sequence的時候用nocache防止這種情況。

2、alter sequence

你或者是該sequence的owner,或者有alter any sequence 許可權才能改動sequence. 可以alter除start至以外的所有sequence引數.如果想要改變start值,必須 drop sequence 再 re-create .

alter sequence 的例子

alter sequence emp_sequence

increment by 10

maxvalue 10000

cycle -- 到10000後從頭開始

nocache ;

影響sequence的初始化引數:

sequence_cache_entries =設定能同時被cache的sequence數目。

可以很簡單的drop sequence

drop sequence order_seq;

如何給oracle中的表建序列,如何給oracle中的表建乙個序列

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 createsequence 你首先要有createsequence或者createanysequence許可權,createsequenceemp sequence incrementb...

如何修改U盤序列號,怎麼修改U盤的序列號

引用別人的.先做必須要有工具的 目前只知道12位sn的phison up11主控u盤的修改方法 個人覺得16位sn的可能不是up11主控 舉例說明如下 sn號 aa bc de ff gg hh 1 在ini檔案的 customize info 下加入customer code 0x19,可把aa改...

電腦硬碟序列號怎麼查詢

第一步單擊 開始 執行.輸入cmd 第二步輸入diskpart,按回專車鍵 第三步輸入list disk,按回車鍵 第四步屬 輸入select disk 0,按回車鍵 第五步輸入detail disk,按回車鍵 第六步彈出的資訊中第二行就是硬碟序列號。電腦在現抄在這個年代襲是越來越普及了,硬碟作為電...